type checking done