type check ok