adding more tests and validations