use guzzle instead of react