rules player: saving switched to async