memory peak usage: 18.79 MB