implement duplicate item validation at model layer