memory peak usage: 15.96 MB