start of refactor: guzzle