memory peak usage: 24.18 MB