move all sync stuff into backend package