memory peak usage: 42.76MB