memory peak usage: 17.30 MB