separated sync client and server