memory peak usage: 19.50 MB