refactor requests