memory peak usage: 16.05 MB