memory peak usage: 15.77 MB