memory peak usage: 23.57 MB