memory peak usage: 19.11 MB