type checks for router