memory peak usage: 17.50 MB