check for single type, need more safties here