diff --git a/window.cpp b/window.cpp
index 1358204d6f4e68e51a9ff71b076c4e6408b16461..d561512e819c06435e081332b887999f1ab63c69 100644
--- a/window.cpp
+++ b/window.cpp
@@ -20,7 +20,7 @@ Window::Window(QWidget *parent)
     connect(m_clearButton, SIGNAL(clicked()), this, SLOT(clearButtonClicked()));
 
     m_slider = new QSlider(this);
-    m_slider->setRange(0, 5000);
+    m_slider->setRange(5, 2000);
     m_slider->setOrientation(Qt::Horizontal);
     m_slider->setValue(m_delay);
     connect(m_slider, SIGNAL(valueChanged(int)), this, SLOT(setValue(int)));
@@ -89,6 +89,10 @@ void Window::solveButtonClicked()
         delay(m_delay);
         if (backtracking)
         {
+            hist.back().cell->highlight("#0000ff");
+            repaint(); // draw cells again
+            delay(m_delay);
+            hist.back().cell->clearHighlight();
             hist.back().cell->un();
             if (hist.back().index.size() == 0)
             {
@@ -139,7 +143,7 @@ void Window::solveButtonClicked()
                     c->highlight("#ff0000");
                 }
                 repaint(); // draw cells again
-                delay(m_delay+20000);
+                delay(m_delay);
                 for (auto &c : b)
                 {
                     c->clearHighlight();