added TypeIs and types