Added comments and renamed some variables on make_move() for my own understanding
But it seems this method must be updated to handle higher-order reversals when one
reversal path triggers others. Seems to have the properties of a recursive algorithm