fixed Condition and Predicate inheritance, added Condition interface