update client/server logic