refactoring guzzle client wrapper