Removed the need for creating a copy of the board on each iteration