refactoring, remoting lib