Refactor and unify requests