add uniqueness validation