memory peak usage: 18.54 MB