memory peak usage: 16.07 MB