memory peak usage: 19.49 MB