When a data is solved, add row, col and square to queue of work to do (new info available) Workslots Represented by a tag: 1-9 = colums, 10-90 = rows,100-900 = suqares Data structure * int Board[col][row] : A 2D array which exposes the symbols on each square. 0 - 9 represent the symbols (add 1!) and -1 represents an unsolved square. * int Choises[col][row][vector array of choises] : Choises left where index = digit, bool 0/1 = allowed or not.