use request instead of superagent