add updateFromClient