memory peak usage: 15.79 MB