memory peak usage: 18.83 MB