public void Refresh(CellVariable[][] cells) throws ContradictionException
	{
		System.out.println("begin refresh");
		solver.clear();
		solver.read(model);
		System.out.println("model read");
		for(int x = 0; x < sudokuSize; x++)
		{
			for(int y = 0; y < sudokuSize; y++)
			{
				if(cells[x][y].current != -1 && !cells[x][y].contradicting)
				{
					if(solver.getVar(cellVars[x][y]) == null)
					{
						System.out.println("Could not get var at : " + x + " - " + y);
					}
					solver.getVar(cellVars[x][y]).setVal(cells[x][y].current);
				}
			}
		}
		solver.propagate();
	}