2 complete
refactored, try, and catch finally ...