only broadcast when you need to, otherwise apply gravity on client