memory peak usage: 19.67 MB