better and more consolidated type checking methods