updated type checks