controller typechecks