Added lots of changes to the combinator