add naming parser combinator