memory peak usage: 19.12 MB