split out realops so that you can call it without broadcasting