Add lang and remote access

- clean code
- add language support
- add remote access support