adding parser combinator