add a typechecker