extend prodicate classes to become conditional classes (use return value if string rather than boolean), test cover