memory peak usage: 23.34 MB