memory peak usage: 42.74MB