100% test coverage, error handling changes.