Added full test coverage and exception handling.