Remote functionality

Not quite right when both local and remote client
Merge local and remote state, sorta