initial type checking