memory peak usage: 19.77 MB