memory peak usage: 15.43 MB