adds uniqueness validation