memory peak usage: 19.74 MB