diff --git a/examples/dokk/config.py b/examples/dokk/config.py
index 7fb7a3efaa099fba57cb0076524e99c08aa81dac..95ad90a89405af528d574be5462fe85c8b385294 100644
--- a/examples/dokk/config.py
+++ b/examples/dokk/config.py
@@ -54,7 +54,6 @@ class TopTen():
   def IsTopTen(self,score):
     self._config.UpdateValues()
     try:
-      print score, float(self._config.Get(str(10))["SCORE"])
       if score < float(self._config.Get(str(10))["SCORE"]):
         return True
     except AttributeError:
diff --git a/examples/dokk/datafiles/dengue/level.ini b/examples/dokk/datafiles/dengue/level.ini
index f974a1071b70e05551f05f8fdb94afd48687887f..ef2411a18a4b6671d9e1fbc534da7c4365a86c87 100644
--- a/examples/dokk/datafiles/dengue/level.ini
+++ b/examples/dokk/datafiles/dengue/level.ini
@@ -11,47 +11,48 @@ TEXTCOLORRED: 255
 TEXTCOLORGREEN: 255
 TEXTCOLORBLUE: 255
 TEXTSIZE: 16
+TEXT_QUICKSTART: 4
 TEXT_COUNT: 8
 TEXT1: So die �bungsphase ist vorbei..
   Bei den kommenden Levels m�ssen sie den Liganden 
   m�glichst gut am Protein andocken.
-TEXTTIME1: 300
+TEXTTIME1: 3000
 
 TEXT2: Sie k�nnen die aktuelle Score links oben ablesen. Wenn
   Sie mit der Score zufrieden sind, k�nnen Sie "FIT" dr�cken 
   um das Level zu beenden. 
-TEXTTIME2: 800
+TEXTTIME2: 8000
 
 TEXT3: Je schneller Sie ein Level absolvieren, umso kleiner wird der Zeitmalus
   der zu Ihrer score addiert wird.
-TEXTTIME3: 800
+TEXTTIME3: 8000
 
 TEXT4: Sind Sie bereit? Jetzt wird es ernst.
-TEXTTIME4: 600
+TEXTTIME4: 3000
 
 TEXT5: 3
-TEXTTIME5: 150
+TEXTTIME5: 1500
 TEXTCOLORRED5: 255
 TEXTCOLORGREEN5: 0
 TEXTCOLORBLUE5: 0
 TEXTSIZE5: 40
 
 TEXT6: 2
-TEXTTIME6: 150
+TEXTTIME6: 1500
 TEXTCOLORRED6: 255
 TEXTCOLORGREEN6: 165
 TEXTCOLORBLUE6: 0
 TEXTSIZE6: 70
 
 TEXT7: 1
-TEXTTIME7: 150
+TEXTTIME7: 1500
 TEXTCOLORRED7: 255
 TEXTCOLORGREEN7: 255
 TEXTCOLORBLUE7: 0
 TEXTSIZE7: 100
 
 TEXT8: LOS!
-TEXTTIME8: 150
+TEXTTIME8: 1500
 TEXTCOLORRED8: 0
 TEXTCOLORGREEN8: 255
 TEXTCOLORBLUE8: 0
diff --git a/examples/dokk/datafiles/dengue/top_ten.ini b/examples/dokk/datafiles/dengue/top_ten.ini
index c058d926314f5f828ac62f90bf8613b4c435cc44..fc382f20a98cce628e9b3a6458ddbc7cd4d47f02 100644
--- a/examples/dokk/datafiles/dengue/top_ten.ini
+++ b/examples/dokk/datafiles/dengue/top_ten.ini
@@ -11,10 +11,14 @@ score = 1.34045518637
 name = STU
 
 [5]
-score = 2.80041636229
-name = AAA
+score = 2.58003196716
+name = STU
 
 [4]
 score = 1.87384883563
 name = BIO
 
+[6]
+score = 2.80041636229
+name = AAA
+
diff --git a/examples/dokk/datafiles/glyoxalase/level.ini b/examples/dokk/datafiles/glyoxalase/level.ini
index c04c2027ea3bd0d6c92a3dbc9f22d97edb3edd27..310601b23d7a0f3b85ee877747380c6fc0ff9c1a 100644
--- a/examples/dokk/datafiles/glyoxalase/level.ini
+++ b/examples/dokk/datafiles/glyoxalase/level.ini
@@ -11,47 +11,48 @@ TEXTCOLORRED: 255
 TEXTCOLORGREEN: 255
 TEXTCOLORBLUE: 255
 TEXTSIZE: 16
+TEXT_QUICKSTART: 3
 TEXT_COUNT: 7
 TEXT1: Gesunder Optimismus ist gut..
-TEXTTIME1: 300
+TEXTTIME1: 3000
 
 TEXT2: F�r dieses Level brauchen Sie jedoch mehr
-TEXTTIME4: 600
+TEXTTIME4: 3000
 
 TEXT3: 3
-TEXTTIME3: 150
+TEXTTIME3: 1500
 TEXTCOLORRED3: 255
 TEXTCOLORGREEN3: 0
 TEXTCOLORBLUE3: 0
 TEXTSIZE3: 40
 
 TEXT4: 2
-TEXTTIME4: 150
+TEXTTIME4: 1500
 TEXTCOLORRED4: 255
 TEXTCOLORGREEN4: 0
 TEXTCOLORBLUE4: 0
 TEXTSIZE4: 70
 
 TEXT5: 1
-TEXTTIME5: 150
+TEXTTIME5: 1500
 TEXTCOLORRED5: 255
 TEXTCOLORGREEN5: 0
 TEXTCOLORBLUE5: 0
 TEXTSIZE5: 100
 
 TEXT6: Viel Gl�ck!
-TEXTTIME6: 150
+TEXTTIME6: 1500
 TEXTCOLORRED6: 255
 TEXTCOLORGREEN6: 0
 TEXTCOLORBLUE6: 0
-TEXTSIZE6: 100
+TEXTSIZE6: 80
 
 TEXT7: (Sie werden es brauchen)
-TEXTTIME7: 150
+TEXTTIME7: 1500
 TEXTCOLORRED7: 255
 TEXTCOLORGREEN7: 0
 TEXTCOLORBLUE7: 0
-TEXTSIZE7: 80
+TEXTSIZE7: 70
 
 [NTT]
 TEXTTIME: 200
diff --git a/examples/dokk/datafiles/retinol/level.ini b/examples/dokk/datafiles/retinol/level.ini
index d76a3a8c089f9831aa7eb90f5d8937a298577d4e..d07e72e9ee3277302fc270c81cfd75fe1ff93755 100644
--- a/examples/dokk/datafiles/retinol/level.ini
+++ b/examples/dokk/datafiles/retinol/level.ini
@@ -11,37 +11,38 @@ TEXTCOLORRED: 255
 TEXTCOLORGREEN: 255
 TEXTCOLORBLUE: 255
 TEXTSIZE: 16
+TEXT_QUICKSTART: 2
 TEXT_COUNT: 6
 TEXT1: Super sie haben es bis hier hin geschafft.
   Jetzt wird es richtig schwer.
-TEXTTIME1: 300
+TEXTTIME1: 5000
 
 TEXT2: Ich sehe Sie sind bereit...
-TEXTTIME4: 600
+TEXTTIME4: 3000
 
 TEXT3: 3
-TEXTTIME3: 150
+TEXTTIME3: 1500
 TEXTCOLORRED3: 255
 TEXTCOLORGREEN3: 0
 TEXTCOLORBLUE3: 0
 TEXTSIZE3: 40
 
 TEXT4: 2
-TEXTTIME4: 150
+TEXTTIME4: 1500
 TEXTCOLORRED4: 255
 TEXTCOLORGREEN4: 165
 TEXTCOLORBLUE4: 0
 TEXTSIZE4: 70
 
 TEXT5: 1
-TEXTTIME5: 150
+TEXTTIME5: 1500
 TEXTCOLORRED5: 255
 TEXTCOLORGREEN5: 255
 TEXTCOLORBLUE5: 0
 TEXTSIZE5: 100
 
 TEXT6: LOS!
-TEXTTIME6: 150
+TEXTTIME6: 1500
 TEXTCOLORRED6: 0
 TEXTCOLORGREEN6: 255
 TEXTCOLORBLUE6: 0
diff --git a/examples/dokk/datafiles/thrombin/level.ini b/examples/dokk/datafiles/thrombin/level.ini
index 4d39caa187d38ecf23d71a4198ba6c51ce25621b..294b4df48f8f72321cb9d04bea6f3134099ac7f1 100644
--- a/examples/dokk/datafiles/thrombin/level.ini
+++ b/examples/dokk/datafiles/thrombin/level.ini
@@ -11,36 +11,37 @@ TEXTCOLORRED: 255
 TEXTCOLORGREEN: 255
 TEXTCOLORBLUE: 255
 TEXTSIZE: 16
+TEXT_QUICKSTART: 2
 TEXT_COUNT: 6
 TEXT1: Ich denke Sie haben das Spielprinzip verstanden.
-TEXTTIME1: 300
+TEXTTIME1: 3000
 
 TEXT2: Gut, sind Sie bereit? Und schon gehts los.
-TEXTTIME4: 600
+TEXTTIME4: 3000
 
 TEXT3: 3
-TEXTTIME3: 150
+TEXTTIME3: 1500
 TEXTCOLORRED3: 255
 TEXTCOLORGREEN3: 0
 TEXTCOLORBLUE3: 0
 TEXTSIZE3: 40
 
 TEXT4: 2
-TEXTTIME4: 150
+TEXTTIME4: 1500
 TEXTCOLORRED4: 255
 TEXTCOLORGREEN4: 165
 TEXTCOLORBLUE4: 0
 TEXTSIZE4: 70
 
 TEXT5: 1
-TEXTTIME5: 150
+TEXTTIME5: 1500
 TEXTCOLORRED5: 255
 TEXTCOLORGREEN5: 255
 TEXTCOLORBLUE5: 0
 TEXTSIZE5: 100
 
 TEXT6: LOS!
-TEXTTIME6: 150
+TEXTTIME6: 1500
 TEXTCOLORRED6: 0
 TEXTCOLORGREEN6: 255
 TEXTCOLORBLUE6: 0
diff --git a/examples/dokk/datafiles/tutorial_1/level.ini b/examples/dokk/datafiles/tutorial_1/level.ini
index 82fde90d8b4e7b92e00f7d5772b4a27893cc69c6..d9e932f7e5dc3366ab390cf8d2a0349f7a82f75d 100644
--- a/examples/dokk/datafiles/tutorial_1/level.ini
+++ b/examples/dokk/datafiles/tutorial_1/level.ini
@@ -11,52 +11,53 @@ TEXTCOLORRED: 255
 TEXTCOLORGREEN: 255
 TEXTCOLORBLUE: 255
 TEXTSIZE: 16
+TEXT_QUICKSTART: 6
 TEXT_COUNT: 10
 TEXT1: Hallo und herzlich wilkommen zu dokk
   dem Docking-Spiel
-TEXTTIME1: 300
+TEXTTIME1: 3000
 
 TEXT2: Ihre Aufgabe ist es, den Liganden (gr�n),
   in die richtige Position auf dem Protein (weiss) zu bringen
-TEXTTIME2: 800
+TEXTTIME2: 8000
 
 TEXT3: Dieses erste Level ist ein �bungslevel. Sie lernen hier, wie man die 
   Position des Liganden ver�ndern kann.
-TEXTTIME3: 800
+TEXTTIME3: 8000
 
 TEXT4: Sie k�nnen mit dem 3D-Input Device den Liganden verschieben,
   indem Sie den Joystick in die entsprechende Richtung bewegen.
-TEXTTIME4: 800
+TEXTTIME4: 8000
  
 TEXT5: Falls Fragen bestehen, k�nnen Sie sich gerne an eine unserer Fachkr�fte wenden.
-TEXTTIME5: 500
+TEXTTIME5: 5000
 
 TEXT6: Sind Sie bereit? Es geht los.
-TEXTTIME6: 600
+TEXTTIME6: 3000
 
 TEXT7: 3
-TEXTTIME7: 150
+TEXTTIME7: 1500
 TEXTCOLORRED7: 255
 TEXTCOLORGREEN7: 0
 TEXTCOLORBLUE7: 0
 TEXTSIZE7: 40
 
 TEXT8: 2
-TEXTTIME8: 150
+TEXTTIME8: 1500
 TEXTCOLORRED8: 255
 TEXTCOLORGREEN8: 165
 TEXTCOLORBLUE8: 0
 TEXTSIZE8: 70
 
 TEXT9: 1
-TEXTTIME9: 150
+TEXTTIME9: 1500
 TEXTCOLORRED9: 255
 TEXTCOLORGREEN9: 255
 TEXTCOLORBLUE9: 0
 TEXTSIZE9: 100
 
 TEXT10: LOS!
-TEXTTIME10: 150
+TEXTTIME10: 1500
 TEXTCOLORRED10: 0
 TEXTCOLORGREEN10: 255
 TEXTCOLORBLUE10: 0
@@ -71,7 +72,7 @@ TEXTSIZE: 16
 TEXT_COUNT: 1
 
 TEXT1: Leider haben Sie es nicht geschafft! 
-  Sie k�nnen erneut veruschen, dieses Level zu absolvieren 
+  Sie k�nnen erneut versuchen, dieses Level zu absolvieren 
 TEXTTIME1: -1
 TEXTCOLORRED1: 255
 TEXTCOLORGREEN1: 64
diff --git a/examples/dokk/datafiles/tutorial_2/level.ini b/examples/dokk/datafiles/tutorial_2/level.ini
index 24e52b9311686a0f929db5ac7e7ac9dccf9e5bce..a0a73b23ba060b72bc9ed3344fdd57ca2c62bc46 100644
--- a/examples/dokk/datafiles/tutorial_2/level.ini
+++ b/examples/dokk/datafiles/tutorial_2/level.ini
@@ -11,48 +11,49 @@ TEXTCOLORRED: 255
 TEXTCOLORGREEN: 255
 TEXTCOLORBLUE: 255
 TEXTSIZE: 16
+TEXT_QUICKSTART: 3
 TEXT_COUNT: 7
 TEXT1: Sehr gut Sie haben das Spielprinzip verstanden
   und k�nnen den Liganden bereits verschieben
-TEXTTIME1: 300
+TEXTTIME1: 3000
 
 TEXT2: In diesem �bungslevel lernen Sie, wie der Ligand rotiert werden kann.
   Dazu k�nnen Sie den Joystick drehen oder ziehen und bewegen.
-TEXTTIME2: 800
+TEXTTIME2: 8000
 
 TEXT3: Sind Sie bereit? Es wird ein wenig schwerer.
-TEXTTIME3: 600
+TEXTTIME3: 3000
 
 TEXT4: 3
-TEXTTIME4: 150
+TEXTTIME4: 1500
 TEXTCOLORRED4: 255
 TEXTCOLORGREEN4: 0
 TEXTCOLORBLUE4: 0
 TEXTSIZE4: 40
 
 TEXT5: 2
-TEXTTIME5: 150
+TEXTTIME5: 1500
 TEXTCOLORRED5: 255
 TEXTCOLORGREEN5: 165
 TEXTCOLORBLUE5: 0
 TEXTSIZE5: 70
 
 TEXT6: 1
-TEXTTIME6: 150
+TEXTTIME6: 1500
 TEXTCOLORRED6: 255
 TEXTCOLORGREEN6: 255
 TEXTCOLORBLUE6: 0
 TEXTSIZE6: 100
 
 TEXT7: LOS!
-TEXTTIME7: 150
+TEXTTIME7: 1500
 TEXTCOLORRED7: 0
 TEXTCOLORGREEN7: 255
 TEXTCOLORBLUE7: 0
 TEXTSIZE7: 130
 
 [NTT]
-TEXTTIME: 200
+TEXTTIME: 2000
 TEXTCOLORRED: 255
 TEXTCOLORGREEN: 0
 TEXTCOLORBLUE: 0
diff --git a/examples/dokk/dokk.py b/examples/dokk/dokk.py
index f3eb30515e1b27453fede9fca0a3c8e577461b79..ea7422fb42e9fc58afcb4c551fdf6b3b9f0af0e4 100644
--- a/examples/dokk/dokk.py
+++ b/examples/dokk/dokk.py
@@ -34,6 +34,10 @@ class Dokk(object):
     else:
       self._current_index +=1
   
+  def Restart(self):
+    self._current_index = -1
+    self.NextLevel()
+  
   def GetLevel(self):
     return self._current_level
   
diff --git a/examples/dokk/level.py b/examples/dokk/level.py
index ef1998a79b1af9856028253106c54b2613b3751b..1217ff5276de1c3a381fde3d03d3b091cd197067 100644
--- a/examples/dokk/level.py
+++ b/examples/dokk/level.py
@@ -112,6 +112,7 @@ class Level(QtCore.QObject):
     return 1
   
   def Reset(self):
+    Dokk().gl_win.SetLockInput(True)
     self.endtime = 0
     self.stop_time = 0
     self._started = False
@@ -157,7 +158,14 @@ class Level(QtCore.QObject):
     self.UpdateScores()
     self.hud_level_intro.Start()
     self._started = True
-    self.emit(QtCore.SIGNAL("Started()"))    
+    self.emit(QtCore.SIGNAL("Started()"))
+    
+  def QuickBegin(self):
+    self.Reset()
+    self.UpdateScores()
+    self.hud_level_intro.QuickStart()
+    self._started = True
+    self.emit(QtCore.SIGNAL("Started()"))
     
   def Close(self):
     gfx.Scene().SetTransform(self.transform_)
diff --git a/examples/dokk/level_intro.py b/examples/dokk/level_intro.py
index b3c99134cbb58178e6884548b8300ebb67de6ba1..86b958c8a57a02f41dbaf2479287ede438622aa5 100644
--- a/examples/dokk/level_intro.py
+++ b/examples/dokk/level_intro.py
@@ -56,7 +56,6 @@ class LevelIntro(QtCore.QObject):
       self.text.color=self.text_list[self.cur_text][2]
       self.text.font.setPointSize(self.text_list[self.cur_text][3])
       self.text.Reset()
-      print (dokk.gl_win.Width()/2.0) - (len(self.text.text)*10)
     else:
       self.cur_text = -1
-    self.cur_text+=1
\ No newline at end of file
+    self.cur_text+=1
diff --git a/examples/dokk/level_messages.py b/examples/dokk/level_messages.py
index 01136e2c76d9b27460a0ca0cab7ad49b3dcd311c..e20c18b4f3cab6ab62fbff9a1809cc824803dda3 100644
--- a/examples/dokk/level_messages.py
+++ b/examples/dokk/level_messages.py
@@ -39,12 +39,21 @@ class LevelMessages(QtCore.QObject):
 
   def Start(self):
     self.Reset()
+    self._Begin()
+    
+  def _Begin(self):
+    time = 0
+    if self.cur_text == 0:
+      time = self.total_time
+    else:
+      for i in range(self.cur_text,len(self.text_list)):
+        time += self.text_list[i][1]
     dokk = Dokk()
     font = QtGui.QFont("Verdana", 15);
     rect = QtCore.QRect(QtCore.QPoint(60, 60), QtCore.QSize(dokk.gl_win.Width()-120, dokk.gl_win.Height()-120))
     self.text = RectTextHUDObject(text="", rect=rect, time=0, font=font)
     QtCore.QObject.connect(self.text, QtCore.SIGNAL("Finished()"), self.NextMessage)
-    self.bg = RectHUDObject(self.total_time,rect, bg_color=QtGui.QColor(128,128,128,200))
+    self.bg = RectHUDObject(time,rect, bg_color=QtGui.QColor(128,128,128,200))
     dokk.gl_win.AddHUDObject(self.bg)
     dokk.gl_win.AddHUDObject(self.text)
   
@@ -70,7 +79,15 @@ class LevelMessages(QtCore.QObject):
 class LevelIntro(LevelMessages):
   def __init__(self, config, parent=None):
     LevelMessages.__init__(self,config.INTRO, parent)
+    try:
+      self.quick_start = int(config.INTRO["TEXT_QUICKSTART"])-1
+    except:
+      self.quick_start = 0
 
+  def QuickStart(self):
+    self.cur_text = self.quick_start
+    self._Begin()
+    
 class LevelEnd(LevelMessages):
   def __init__(self, messages, parent=None):
     LevelMessages.__init__(self,messages, parent)
diff --git a/examples/dokk/spnav_input.py b/examples/dokk/spnav_input.py
index d079fe6c4cd66660e3efb23fc54afeb6fe2ea220..a016a6ffb812d3d2b06452a5916ce8f10e7abd44 100644
--- a/examples/dokk/spnav_input.py
+++ b/examples/dokk/spnav_input.py
@@ -66,10 +66,14 @@ class SpnavInputDevice(QtCore.QObject):
       dokk.Dokk().NextLevel()
     elif button == 6:
       QtGui.QApplication.exit()
+    elif button == 8:
+      dokk.Dokk().Restart()
     elif button == 13:
       self.level.ResetPos()
     elif button == 12 and not self.level.IsStarted():
       self.level.Solve()
+    elif button == 14:
+      self.level.QuickBegin()
     
     if (not self._lock_input):
       if button == 0: