extra type checks