memory peak usage: 18.85 MB