memory peak usage: 33.71 MB