memory peak usage: 24.83 MB