memory peak usage: 18.87 MB