Add full condition support
FIX bug in typechecking