cleaned up, added tests, handled edge case of parsing a nil location.
added test for web service class