refactored exception handling, and added anniversary example