                 )
             }
             let index = components.index(of: component)!
+            if loops {
+                let selectedRow = pickerView.selectedRow(inComponent: index)
+                let selectedValue = selectedRow % numberOfRows[component]!
+                componentCount += (selectedRow - selectedValue)
+            }
             pickerView.selectRow(componentCount, inComponent: index, animated: animated)
         }
         sendActions(for: .valueChanged)
+    }
+    
+    private func resetToDefaultValue() {
+        for (i, component) in components.enumerated() {
+            var count = 0
+            if loops {
+                count = numberOfRows[component]! * (Constants.numberOfLoops / 2)
+            }
+            pickerView.selectRow(count, inComponent: i, animated: false)
+        }
     }
     
     // MARK: - Layout calculations

    
    // MARK: Getting & setting the time interval
    
    public var timeInterval: TimeInterval {
        get {
            return getTimeInterval()

    private func getTimeInterval() -> TimeInterval {
        var total: TimeInterval = 0
        for (index, component) in components.enumerated() {
            var selected = pickerView.selectedRow(inComponent: index)
            print(selected)
            if loops {
                selected = selected % numberOfRows[component]!
            }
            print(selected)
            print()
            total += Constants.componentValues[component]! * TimeInterval(selected)
        }
        return total
