add type checker