Task B: Validating and Unit Testing. Added validations and tests for the models implemented so far