Refactored to clean up code, fixed bug in Address2.