Added GenericResponse
Added exceptions and handling
Added hashie gem dependency with some additional logic