             return nil
         }
     }
-    public init?(stringValue userInput:String) {
+    public required convenience init?(stringValue userInput:String) {
         let lowerCaseStringValue = userInput.lowercaseString
         let periodRange = lowerCaseStringValue.rangeOfString(".")
         let colonRange = lowerCaseStringValue.rangeOfString(":")

        }
    }
}
public struct DNTimeAndDay {
    public var day: DNDay
    public var time: DNTime
    public var minuteInterval: Int = 30
    public var dayInterval = 1
    
    public mutating func increaseDay() {
        day.increase(by: dayInterval)
    }
    public mutating func decreaseDay() {
        day.decrease(by: dayInterval)
    }
    public mutating func increaseTime() {
        changeTime(increase: true)
    }
    public mutating func decreaseTime() {
        changeTime(increase: false)
    }
    private mutating func changeTime(increase increaseDecrease:Bool) {
        guard minuteInterval != 0 else { return }
        var absoluteMinInterval = minuteInterval
        var increase = increaseDecrease

        }
        self.init(day:initDay, time: initTime, minuteInterval: minuteInterval, dayInterval: dayInterval)
    }
    public convenience init?(dayInt:Int, hourInt:Int, minInt:Int, minuteInterval:Int) {
        self.init(dayInt: dayInt, hourInt: hourInt, minInt: minInt, minuteInterval: minuteInterval, dayInterval: 1)
    }
    public convenience init?(dayInt:Int, hourInt:Int, minInt:Int) {
        self.init(dayInt: dayInt, hourInt: hourInt, minInt: minInt, minuteInterval: 30, dayInterval: 1)
    }

