changed logic of returning responses. error objects returned from google are now passed up. any errors by the json parsing library are now passed up