memory peak usage: 15.97 MB