Parser combinators are really slow unfortunately, should use something else here