memory peak usage: 20.06 MB