             abort()
         }
 
+        return true
+    }
+
+    /*
+     * public func updateVoidDuration(name:String,begin:NSDate?=nil,duration:Int?=nil,asserted:Bool?=nil) -> Bool
+     * - Update oneshot void duration
+     * NOTE: Will terminate executable if unknown database error occurs
+     * [Argument]
+     * name - name of Void Duration
+     * begin - begin date/time of void duration
+     * duration - duration of void duration in seconds
+     * asserted - Whether void duration asserts to not have task scheduled during the "Duration of Time", true if void duration asserts
+     * [Return]
+     * Bool - true if successful in creating void duration, false if entry already exists in database.
+     */
+    public func updateVoidDuration(name:String,begin:NSDate?=nil,duration:Int?=nil,asserted:Bool?=nil) -> Bool
+    {
+        //Obtain Void Duration
+        var voidd:PVRVoidDuration!
+        do
+        {
+            voidd = (try self.DB.retrieveEntry(lockey: PVRDBKey.void_duration, key: name) as! PVRVoidDuration)
+        }
+        catch PVRDBError.entry_not_exist
+        {
+            print("ERR:PVRDataController: Faild to update void duration, entry does not exist in database.")
+            return false
+        }
+        catch
+        {
+            abort()
+        }
+
+        //Update Void Duration Data
+        if let bgn = begin
+        {
+            voidd.begin = bgn
+        }
+
+        if let drsn = duration
+        {
+            voidd.duration = drsn
+        }
+
+        if let asrt = asserted
+        {
+            voidd.asserted = asrt
+        }
+
+
+        //Update Database
+        do
+        {
+            try self.DB.updateEntry(lockey: PVRDBKey.void_duration, key: name, val: voidd)
+        }
+        catch
+        {
+            abort()
+        }
+
+        return true
+    }
+
+    /*
+     * public func updateRepeatVoidDuration(name:String,begin:NSDate?=nil,duration:Int?=nil,repeat_loop:[TimeInterval]?=nil,repeat_deadline:NSDate??=nil,asserted:Bool?=nil) -> Bool
+     * - Create Repeatable Void Duration
+     * NOTE: Will terminate executable if unknown database error occurs
+     * [Argument]
+     * name - name of the void duration
+     * begin - begin date/time of void duration
+     * duration - duration of void duration in seconds
+     * repeat_loop - a loop of intervals of time to increment for each repeat
+     * deadline - date/time to stop repeat
+     * asserted - Whether void duration asserts to not have task scheduled during the "Duration of Time", true if void duration asserts
+     * [Return]
+     * Bool - true if successful in creating void duration, false if entry already exists in database.
+    */
+    public func updateRepeatVoidDuration(name:String,begin:NSDate?=nil,duration:Int?=nil,repeat_loop:[TimeInterval]?=nil,repeat_deadline:NSDate??=nil,asserted:Bool?=nil) -> Bool
+    {
+        //Obtain Void Duration
+        var voidd:PVRRepeatVoidDuration!
+        do
+        {
+            voidd = (try self.DB.retrieveEntry(lockey: PVRDBKey.void_duration, key: name) as! PVRRepeatVoidDuration)
+        }
+        catch PVRDBError.entry_not_exist
+        {
+            print("ERR:PVRDataController: Faild to update void duration, entry does not exist in database.")
+            return false
+        }
+        catch
+        {
+            abort()
+        }
+
+        //Update Void Duration Data
+        if let bgn = begin
+        {
+            voidd.begin = bgn
+        }
+
+        if let drsn = duration
+        {
+            voidd.duration = drsn
+        }
+
+        if let asrt = asserted
+        {
+            voidd.asserted = asrt
+        }
+
+        if let rpt_lp = repeat_loop
+        {
+            voidd.repeat_loop = rpt_lp
+        }
+
+        if let rpt_dl = repeat_deadline
+        {
+            voidd.repeat_deadline = rpt_dl
+        }
+
+        //Update Database
+        do
+        {
+            try self.DB.updateEntry(lockey: PVRDBKey.void_duration, key: name, val: voidd)
+        }
+        catch
+        {
+            abort()
+        }
+        
         return true
     }
 

            return false
        }
    }

    /*
     * public func deleteTask(name:String) -> Bool

        return true
    }

    /* 
     * public func createRepeatVoidDuration(name:Stirn,duration:Int,repeat_loop:[TimeInterval],repeat_deadline:NSDate,asserted:Bool) -> Bool
     * - Create Repeatable Void Duration
     * NOTE: Will terminate executable if unknown database error occurs
     * [Argument]
