type checking is passing basic tests