memory peak usage: 17.82 MB