memory peak usage: 23.90 MB