memory peak usage: 15.73 MB