Refactor remote repository provider