add combinator methods