adds optional combinators