memory peak usage: 23.44 MB