memory peak usage: 23.98 MB