refactor rekuest