memory peak usage: 20.07 MB