use request instead of request-sync