adding validations + test coverage