all tests passing plus added validations