memory peak usage: 18.51 MB