memory peak usage: 24.02 MB