memory peak usage: 19.63 MB