memory peak usage: 14.97 MB