implemented a occupiedPositions list to ensure we don't try to put more than one thing on a square