diff --git a/contents/code/config_ui.py b/contents/code/config_ui.py
index ae318438f68b4cc1f2bcfe0bfcf4afcbf3fb9d2c..5febd5719511916c4b6674d7ba55df9144bc4bb2 100644
--- a/contents/code/config_ui.py
+++ b/contents/code/config_ui.py
@@ -2,7 +2,7 @@
 
 # Form implementation generated from reading ui file 'ui/config.ui'
 #
-# Created: Sat May 11 23:55:31 2013
+# Created: Sun May 12 00:55:31 2013
 #      by: PyQt4 UI code generator 4.9.3
 #
 # WARNING! All changes made in this file will be lost!
@@ -22,6 +22,7 @@ class Ui_configDialog(object):
         self.formLayoutWidget.setGeometry(QtCore.QRect(0, 0, 401, 301))
         self.formLayoutWidget.setObjectName(_fromUtf8("formLayoutWidget"))
         self.formLayout = QtGui.QFormLayout(self.formLayoutWidget)
+        self.formLayout.setFieldGrowthPolicy(QtGui.QFormLayout.AllNonFixedFieldsGrow)
         self.formLayout.setMargin(0)
         self.formLayout.setObjectName(_fromUtf8("formLayout"))
         self.lblName = QtGui.QLabel(self.formLayoutWidget)
@@ -30,18 +31,26 @@ class Ui_configDialog(object):
         self.linName = QtGui.QLineEdit(self.formLayoutWidget)
         self.linName.setObjectName(_fromUtf8("linName"))
         self.formLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.linName)
-        self.cmbAnimal = QtGui.QComboBox(self.formLayoutWidget)
-        self.cmbAnimal.setObjectName(_fromUtf8("cmbAnimal"))
-        self.formLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.cmbAnimal)
         self.lblAnimal = QtGui.QLabel(self.formLayoutWidget)
         self.lblAnimal.setObjectName(_fromUtf8("lblAnimal"))
         self.formLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.lblAnimal)
-        self.timBrushtime = QtGui.QTimeEdit(self.formLayoutWidget)
-        self.timBrushtime.setObjectName(_fromUtf8("timBrushtime"))
-        self.formLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.timBrushtime)
+        self.cmbAnimal = QtGui.QComboBox(self.formLayoutWidget)
+        self.cmbAnimal.setObjectName(_fromUtf8("cmbAnimal"))
+        self.formLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.cmbAnimal)
         self.lblBrushtime = QtGui.QLabel(self.formLayoutWidget)
         self.lblBrushtime.setObjectName(_fromUtf8("lblBrushtime"))
         self.formLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.lblBrushtime)
+        self.timBrushtime = QtGui.QTimeEdit(self.formLayoutWidget)
+        self.timBrushtime.setObjectName(_fromUtf8("timBrushtime"))
+        self.formLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.timBrushtime)
+        self.lblTimeout = QtGui.QLabel(self.formLayoutWidget)
+        self.lblTimeout.setObjectName(_fromUtf8("lblTimeout"))
+        self.formLayout.setWidget(3, QtGui.QFormLayout.LabelRole, self.lblTimeout)
+        self.spnTimeout = QtGui.QSpinBox(self.formLayoutWidget)
+        self.spnTimeout.setMinimum(1)
+        self.spnTimeout.setMaximum(120)
+        self.spnTimeout.setObjectName(_fromUtf8("spnTimeout"))
+        self.formLayout.setWidget(3, QtGui.QFormLayout.FieldRole, self.spnTimeout)
 
         self.retranslateUi(configDialog)
         QtCore.QMetaObject.connectSlotsByName(configDialog)
@@ -50,8 +59,10 @@ class Ui_configDialog(object):
         configDialog.setWindowTitle(QtGui.QApplication.translate("configDialog", "Form", None, QtGui.QApplication.UnicodeUTF8))
         self.lblName.setText(QtGui.QApplication.translate("configDialog", "Name:", None, QtGui.QApplication.UnicodeUTF8))
         self.linName.setToolTip(QtGui.QApplication.translate("configDialog", "<html><head/><body><p>Name of the pet.</p></body></html>", None, QtGui.QApplication.UnicodeUTF8))
-        self.cmbAnimal.setToolTip(QtGui.QApplication.translate("configDialog", "<html><head/><body><p>The kind of animal to use.</p></body></html>", None, QtGui.QApplication.UnicodeUTF8))
         self.lblAnimal.setText(QtGui.QApplication.translate("configDialog", "Animal", None, QtGui.QApplication.UnicodeUTF8))
-        self.timBrushtime.setToolTip(QtGui.QApplication.translate("configDialog", "<html><head/><body><p>Time of day the animal needs to brush its teeth.</p></body></html>", None, QtGui.QApplication.UnicodeUTF8))
+        self.cmbAnimal.setToolTip(QtGui.QApplication.translate("configDialog", "<html><head/><body><p>The kind of animal to use.</p></body></html>", None, QtGui.QApplication.UnicodeUTF8))
         self.lblBrushtime.setText(QtGui.QApplication.translate("configDialog", "Brush time", None, QtGui.QApplication.UnicodeUTF8))
+        self.timBrushtime.setToolTip(QtGui.QApplication.translate("configDialog", "<html><head/><body><p>Time of day the animal needs to brush its teeth.</p></body></html>", None, QtGui.QApplication.UnicodeUTF8))
+        self.lblTimeout.setText(QtGui.QApplication.translate("configDialog", "Cycle length", None, QtGui.QApplication.UnicodeUTF8))
+        self.spnTimeout.setToolTip(QtGui.QApplication.translate("configDialog", "<html><head/><body><p>Seconds between changes in the animal\'s state over time</p></body></html>", None, QtGui.QApplication.UnicodeUTF8))
 
diff --git a/contents/code/main.py b/contents/code/main.py
index 8dd99b692ccd2bbffdb3dd3470c78edc4381a9b8..df1947f950f61c878a2854b2472f91f33cac2a73 100644
--- a/contents/code/main.py
+++ b/contents/code/main.py
@@ -45,6 +45,7 @@ class Koala():
         self.weight = 10
         self.name = "Tim"
         self.animal = "koala"
+        self.timeout = 5000
 
         self.load()
 
@@ -105,6 +106,7 @@ class Koala():
         cfgParser.set('koala', 'name', self.name)
         cfgParser.set('koala', 'animal', self.animal)
         cfgParser.set('behaviour', 'brushtime', self.brushtime)
+        cfgParser.set('behaviour', 'timeout', self.timeout)
 
         cfgParser.set('state', 'happiness', self.happiness)
         cfgParser.set('state', 'hunger', self.hunger)
@@ -128,6 +130,7 @@ class Koala():
             self.name = cfgParser.get('koala', 'name')
             self.animal = cfgParser.get('koala', 'animal')
             self.brushtime = cfgParser.get('behaviour', 'brushtime')
+            self.timeout = int(cfgParser.get('behaviour', 'timeout'))
 
             self.happiness = float(cfgParser.get('state', 'happiness'))
             self.hunger = float(cfgParser.get('state', 'hunger'))
@@ -196,7 +199,6 @@ class Deskoala(plasmascript.Applet):
     def init(self):
         self.setHasConfigurationInterface(True)
         self.resize(320, 260)
-#        self.setAspectRatioMode(Plasma.Square)
         self.layout = QGraphicsLinearLayout(Qt.Horizontal,self.applet)
         self.label = Plasma.Label(self.applet)
         self.layout.addItem(self.label)
@@ -219,7 +221,7 @@ class Deskoala(plasmascript.Applet):
             self.buttons.append(buttons)
             self.layout.addItem(buttons)
 
-        self.startTimer(5000)
+        self.startTimer(self.koala.timeout)
 
     def createConfigurationInterface(self,parent):
         self.koalaConfig = KoalaConfig(self)
@@ -230,6 +232,7 @@ class Deskoala(plasmascript.Applet):
 
         self.koalaConfig.linName.setText(self.koala.name)
         self.koalaConfig.timBrushtime.setTime(QTime.fromString(self.koala.brushtime, "h:m"))
+        self.koalaConfig.spnTimeout.setValue(self.koala.timeout / 1000)
 
         animals = ["koala", "kangaroo"]
         for i in animals:
@@ -249,8 +252,11 @@ class Deskoala(plasmascript.Applet):
         self.koala.name = self.koalaConfig.linName.text()
         self.koala.brushtime = str(self.koalaConfig.timBrushtime.time().toString("h:m"))
         self.koala.animal = self.koalaConfig.cmbAnimal.currentText()
+        self.koala.timeout = self.koalaConfig.spnTimeout.value() * 1000
         self.koala.save()
 
+        self.startTimer(self.koala.timeout)
+
     def configDenied(self):
         pass
 
diff --git a/ui/config.ui b/ui/config.ui
index e1cec5371ba61a1c2acc5d4b262f18813120e5b5..7e08d39fd86b25752f570ed1ac63c539662e9e04 100644
--- a/ui/config.ui
+++ b/ui/config.ui
@@ -23,6 +23,9 @@
     </rect>
    </property>
    <layout class="QFormLayout" name="formLayout">
+    <property name="fieldGrowthPolicy">
+     <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
+    </property>
     <item row="0" column="0">
      <widget class="QLabel" name="lblName">
       <property name="text">
@@ -37,6 +40,13 @@
       </property>
      </widget>
     </item>
+    <item row="1" column="0">
+     <widget class="QLabel" name="lblAnimal">
+      <property name="text">
+       <string>Animal</string>
+      </property>
+     </widget>
+    </item>
     <item row="1" column="1">
      <widget class="QComboBox" name="cmbAnimal">
       <property name="toolTip">
@@ -44,10 +54,10 @@
       </property>
      </widget>
     </item>
-    <item row="1" column="0">
-     <widget class="QLabel" name="lblAnimal">
+    <item row="2" column="0">
+     <widget class="QLabel" name="lblBrushtime">
       <property name="text">
-       <string>Animal</string>
+       <string>Brush time</string>
       </property>
      </widget>
     </item>
@@ -58,10 +68,23 @@
       </property>
      </widget>
     </item>
-    <item row="2" column="0">
-     <widget class="QLabel" name="lblBrushtime">
+    <item row="3" column="0">
+     <widget class="QLabel" name="lblTimeout">
       <property name="text">
-       <string>Brush time</string>
+       <string>Cycle length</string>
+      </property>
+     </widget>
+    </item>
+    <item row="3" column="1">
+     <widget class="QSpinBox" name="spnTimeout">
+      <property name="toolTip">
+       <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Seconds between changes in the animal's state over time&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+      </property>
+      <property name="minimum">
+       <number>1</number>
+      </property>
+      <property name="maximum">
+       <number>120</number>
       </property>
      </widget>
     </item>