reorganize and refactor interface and transporting classes add more flexible remoteInterface to communicate with core side