refactor
force uniqueness of subject/object pair