Added country information
more code cleanup
added events to client
Added Connect/Disconnect to client
More Exception handling