created unit tests and validations