memory peak usage: 23.31 MB