I have refactored the code in the domain by implementing new Exceptions RecordAlreadyExistsException and RecordNotFoundException. I have also put some validations when the instantiating an object and throws a BusinessRuleException. I have also minimised the conditional statements (if-else) that prevents redundant null checking throughout the Domain Solution and replaced it with try and catch. I have also added new methods for Test Instance ( UpdateTestInstance, AddCandidateToTestInstance, and RemoveCandidateFromTestInstance). I have also created constructors for Candidate, Question, Test Template, and Test Instance).