add combinators (WIP)