add uniqueness for type