memory peak usage: 17.31 MB