add type-checker