all tests written and passing. Trying to tidy up and refactor as best I can. Quite like my Weather module with its custom error messages.