add remote machine function