switch for types integrated