memory peak usage: 15.98 MB