add parser combinator to parse the input