fixed many combinator and added unit test