memory peak usage: 19.73 MB