add duplicate entry validations - still needs refactor