memory peak usage: 19.54 MB