memory peak usage: 19.53 MB