memory peak usage: 24.81 MB