memory peak usage: 14.88 MB