memory peak usage: 24.88 MB