code: def cross_successors(state, last_action=None):
          
          centres, edges = state
          acts = sum([
              [s, s.inverse(), s * 2] for s in
              map(Step, "RUFDRB".replace(last_action.face if last_action else "", "", 1))
              ], [])
          for step in acts:
              yield step, (centres, CrossSolver._rotate(edges, step))
docs: Successors function for solving the cross.