memory peak usage: 23.39 MB