memory peak usage: 19.06 MB