all type checking rules are done