refactoring, remote program