         self.dataView.loadFromDB()
         var date = Date()
         var task = self.dataViewCtrl.sortedTask(sattr: PVRTaskSort.deadline)[0] //Closest Deadline
-        var arr_stsk = Array<PVRTask>()
+        var sch_stsk = Dictionary<String,Array<PVRTask>>()
 
         //Iterate Tasks
         while date.compare(self.lastTaskDate() as Date) != ComparisonResult.orderedDescending && self.dataView.task.count > 0

            let task_stsk = self.generateSubtask(task: task)
            for stsk in task_stsk
            {
                arr_stsk.append(stsk)
            }

            //Update Data

        var arr_drsn = Array<PVRDuration>()

        //Extract Duration from Void Duration
        while date.compare(self.lastTaskDate() as Date) == ComparisonResult.orderedAscending && self.dataView.voidDuration.count > 0
        {
            //date < last task date
            //Duration from date to voidd.begin
