memory peak usage: 17.05 MB