diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/DependencyList.java b/ganttzk/src/main/java/org/zkoss/ganttz/DependencyList.java
index 78a399cba..a61c27750 100644
--- a/ganttzk/src/main/java/org/zkoss/ganttz/DependencyList.java
+++ b/ganttzk/src/main/java/org/zkoss/ganttz/DependencyList.java
@@ -10,6 +10,8 @@ import org.apache.commons.logging.LogFactory;
import org.zkoss.ganttz.data.Dependency;
import org.zkoss.ganttz.data.DependencyType;
import org.zkoss.ganttz.data.Task;
+import org.zkoss.ganttz.timetracker.TimeTracker;
+import org.zkoss.ganttz.timetracker.TimeTrackerComponent;
import org.zkoss.ganttz.util.MenuBuilder;
import org.zkoss.ganttz.util.MenuBuilder.ItemAction;
import org.zkoss.ganttz.util.zoom.IZoomLevelChangedListener;
diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/FunctionalityExposedForExtensions.java b/ganttzk/src/main/java/org/zkoss/ganttz/FunctionalityExposedForExtensions.java
index 1342a16f8..0c6ed0fb5 100644
--- a/ganttzk/src/main/java/org/zkoss/ganttz/FunctionalityExposedForExtensions.java
+++ b/ganttzk/src/main/java/org/zkoss/ganttz/FunctionalityExposedForExtensions.java
@@ -21,6 +21,7 @@ import org.zkoss.ganttz.data.Task;
import org.zkoss.ganttz.data.TaskContainer;
import org.zkoss.ganttz.data.TaskLeaf;
import org.zkoss.ganttz.extensions.IContext;
+import org.zkoss.ganttz.timetracker.TimeTracker;
import org.zkoss.ganttz.util.Interval;
import org.zkoss.ganttz.util.zoom.TimeTrackerState;
import org.zkoss.zk.ui.Component;
diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/GanttPanel.java b/ganttzk/src/main/java/org/zkoss/ganttz/GanttPanel.java
index a600063fc..4fed40a11 100644
--- a/ganttzk/src/main/java/org/zkoss/ganttz/GanttPanel.java
+++ b/ganttzk/src/main/java/org/zkoss/ganttz/GanttPanel.java
@@ -3,6 +3,8 @@ package org.zkoss.ganttz;
import java.util.List;
import org.zkoss.ganttz.data.GanttDiagramGraph;
+import org.zkoss.ganttz.timetracker.TimeTracker;
+import org.zkoss.ganttz.timetracker.TimeTrackerComponent;
import org.zkoss.zk.au.out.AuInvoke;
import org.zkoss.zk.ui.ext.AfterCompose;
import org.zkoss.zul.impl.XulElement;
diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/TaskList.java b/ganttzk/src/main/java/org/zkoss/ganttz/TaskList.java
index 0bf5d66bf..b0ff827d9 100644
--- a/ganttzk/src/main/java/org/zkoss/ganttz/TaskList.java
+++ b/ganttzk/src/main/java/org/zkoss/ganttz/TaskList.java
@@ -11,6 +11,8 @@ import org.zkoss.ganttz.data.Dependency;
import org.zkoss.ganttz.data.DependencyType;
import org.zkoss.ganttz.data.Position;
import org.zkoss.ganttz.data.Task;
+import org.zkoss.ganttz.timetracker.TimeTracker;
+import org.zkoss.ganttz.timetracker.TimeTrackerComponent;
import org.zkoss.ganttz.util.MenuBuilder;
import org.zkoss.ganttz.util.MenuBuilder.ItemAction;
import org.zkoss.ganttz.util.zoom.IZoomLevelChangedListener;
diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/extensions/ContextRelativeToOtherComponent.java b/ganttzk/src/main/java/org/zkoss/ganttz/extensions/ContextRelativeToOtherComponent.java
index eb7990f37..33a350d36 100644
--- a/ganttzk/src/main/java/org/zkoss/ganttz/extensions/ContextRelativeToOtherComponent.java
+++ b/ganttzk/src/main/java/org/zkoss/ganttz/extensions/ContextRelativeToOtherComponent.java
@@ -1,8 +1,8 @@
package org.zkoss.ganttz.extensions;
-import org.zkoss.ganttz.TimeTracker;
import org.zkoss.ganttz.adapters.PlannerConfiguration;
import org.zkoss.ganttz.data.Position;
+import org.zkoss.ganttz.timetracker.TimeTracker;
import org.zkoss.zk.ui.Component;
/**
diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/extensions/ContextWithPlannerTask.java b/ganttzk/src/main/java/org/zkoss/ganttz/extensions/ContextWithPlannerTask.java
index 26c59bc0d..d02133b65 100644
--- a/ganttzk/src/main/java/org/zkoss/ganttz/extensions/ContextWithPlannerTask.java
+++ b/ganttzk/src/main/java/org/zkoss/ganttz/extensions/ContextWithPlannerTask.java
@@ -1,9 +1,9 @@
package org.zkoss.ganttz.extensions;
-import org.zkoss.ganttz.TimeTracker;
import org.zkoss.ganttz.adapters.PlannerConfiguration;
import org.zkoss.ganttz.data.Position;
import org.zkoss.ganttz.data.Task;
+import org.zkoss.ganttz.timetracker.TimeTracker;
import org.zkoss.zk.ui.Component;
/**
diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/extensions/IContext.java b/ganttzk/src/main/java/org/zkoss/ganttz/extensions/IContext.java
index f69ac5d8a..cd3ea6222 100644
--- a/ganttzk/src/main/java/org/zkoss/ganttz/extensions/IContext.java
+++ b/ganttzk/src/main/java/org/zkoss/ganttz/extensions/IContext.java
@@ -2,12 +2,12 @@ package org.zkoss.ganttz.extensions;
import org.zkoss.ganttz.Planner;
import org.zkoss.ganttz.TaskComponent;
-import org.zkoss.ganttz.TimeTracker;
import org.zkoss.ganttz.adapters.IAdapterToTaskFundamentalProperties;
import org.zkoss.ganttz.adapters.IStructureNavigator;
import org.zkoss.ganttz.adapters.PlannerConfiguration;
import org.zkoss.ganttz.data.Position;
import org.zkoss.ganttz.data.Task;
+import org.zkoss.ganttz.timetracker.TimeTracker;
import org.zkoss.zk.ui.Component;
/**
diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/resourceload/ResourceLoadComponent.java b/ganttzk/src/main/java/org/zkoss/ganttz/resourceload/ResourceLoadComponent.java
index 7c1f741e8..b03d188fc 100755
--- a/ganttzk/src/main/java/org/zkoss/ganttz/resourceload/ResourceLoadComponent.java
+++ b/ganttzk/src/main/java/org/zkoss/ganttz/resourceload/ResourceLoadComponent.java
@@ -5,9 +5,9 @@ import java.util.List;
import org.joda.time.LocalDate;
import org.zkoss.ganttz.IDatesMapper;
-import org.zkoss.ganttz.TimeTracker;
import org.zkoss.ganttz.data.resourceload.LoadPeriod;
import org.zkoss.ganttz.data.resourceload.LoadTimeLine;
+import org.zkoss.ganttz.timetracker.TimeTracker;
import org.zkoss.ganttz.util.zoom.IZoomLevelChangedListener;
import org.zkoss.ganttz.util.zoom.ZoomLevel;
import org.zkoss.zul.Div;
diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/resourceload/ResourceLoadList.java b/ganttzk/src/main/java/org/zkoss/ganttz/resourceload/ResourceLoadList.java
index adba4e7f0..50a17b721 100644
--- a/ganttzk/src/main/java/org/zkoss/ganttz/resourceload/ResourceLoadList.java
+++ b/ganttzk/src/main/java/org/zkoss/ganttz/resourceload/ResourceLoadList.java
@@ -3,9 +3,9 @@ package org.zkoss.ganttz.resourceload;
import java.util.ArrayList;
import java.util.List;
-import org.zkoss.ganttz.TimeTracker;
import org.zkoss.ganttz.data.resourceload.LoadTimeLine;
import org.zkoss.ganttz.data.resourceload.LoadTimelinesGroup;
+import org.zkoss.ganttz.timetracker.TimeTracker;
import org.zkoss.ganttz.util.zoom.IZoomLevelChangedListener;
import org.zkoss.ganttz.util.zoom.ZoomLevel;
import org.zkoss.zk.au.out.AuInvoke;
diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/resourceload/ResourcesLoadPanel.java b/ganttzk/src/main/java/org/zkoss/ganttz/resourceload/ResourcesLoadPanel.java
index 06f1cecea..92ea997ea 100644
--- a/ganttzk/src/main/java/org/zkoss/ganttz/resourceload/ResourcesLoadPanel.java
+++ b/ganttzk/src/main/java/org/zkoss/ganttz/resourceload/ResourcesLoadPanel.java
@@ -3,9 +3,9 @@ package org.zkoss.ganttz.resourceload;
import java.util.List;
import org.zkoss.ganttz.Planner;
-import org.zkoss.ganttz.TimeTracker;
-import org.zkoss.ganttz.TimeTrackerComponent;
import org.zkoss.ganttz.data.resourceload.LoadTimelinesGroup;
+import org.zkoss.ganttz.timetracker.TimeTracker;
+import org.zkoss.ganttz.timetracker.TimeTrackerComponent;
import org.zkoss.zk.au.out.AuInvoke;
import org.zkoss.zk.ui.ext.AfterCompose;
import org.zkoss.zul.impl.XulElement;
diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/TimeTracker.java b/ganttzk/src/main/java/org/zkoss/ganttz/timetracker/TimeTracker.java
similarity index 97%
rename from ganttzk/src/main/java/org/zkoss/ganttz/TimeTracker.java
rename to ganttzk/src/main/java/org/zkoss/ganttz/timetracker/TimeTracker.java
index 182881ca9..cb5a7bb68 100644
--- a/ganttzk/src/main/java/org/zkoss/ganttz/TimeTracker.java
+++ b/ganttzk/src/main/java/org/zkoss/ganttz/timetracker/TimeTracker.java
@@ -1,4 +1,4 @@
-package org.zkoss.ganttz;
+package org.zkoss.ganttz.timetracker;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
@@ -6,6 +6,8 @@ import java.util.Collection;
import java.util.Date;
import org.joda.time.LocalDate;
+import org.zkoss.ganttz.DatesMapperOnInterval;
+import org.zkoss.ganttz.IDatesMapper;
import org.zkoss.ganttz.data.Task;
import org.zkoss.ganttz.util.Interval;
import org.zkoss.ganttz.util.WeakReferencedListeners;
diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/TimeTrackerComponent.java b/ganttzk/src/main/java/org/zkoss/ganttz/timetracker/TimeTrackerComponent.java
similarity index 98%
rename from ganttzk/src/main/java/org/zkoss/ganttz/TimeTrackerComponent.java
rename to ganttzk/src/main/java/org/zkoss/ganttz/timetracker/TimeTrackerComponent.java
index e5776573c..79b84941d 100644
--- a/ganttzk/src/main/java/org/zkoss/ganttz/TimeTrackerComponent.java
+++ b/ganttzk/src/main/java/org/zkoss/ganttz/timetracker/TimeTrackerComponent.java
@@ -1,4 +1,4 @@
-package org.zkoss.ganttz;
+package org.zkoss.ganttz.timetracker;
import java.util.Collection;
diff --git a/ganttzk/src/main/resources/metainfo/zk/lang-addon.xml b/ganttzk/src/main/resources/metainfo/zk/lang-addon.xml
index 2bfde9ba5..95d9cda67 100755
--- a/ganttzk/src/main/resources/metainfo/zk/lang-addon.xml
+++ b/ganttzk/src/main/resources/metainfo/zk/lang-addon.xml
@@ -127,8 +127,8 @@
timetracker
- org.zkoss.ganttz.TimeTrackerComponent
- ~./ganttz/zul/timetracker.zul
+ org.zkoss.ganttz.timetracker.TimeTrackerComponent
+ ~./ganttz/zul/timetracker/timetracker.zul
\ No newline at end of file
diff --git a/ganttzk/src/main/resources/web/ganttz/zul/timetracker.zul b/ganttzk/src/main/resources/web/ganttz/zul/timetracker/timetracker.zul
similarity index 100%
rename from ganttzk/src/main/resources/web/ganttz/zul/timetracker.zul
rename to ganttzk/src/main/resources/web/ganttz/zul/timetracker/timetracker.zul
diff --git a/ganttzk/src/main/resources/web/ganttz/zul/timetracker/timetrackersecondlevel.zul b/ganttzk/src/main/resources/web/ganttz/zul/timetracker/timetrackersecondlevel.zul
new file mode 100644
index 000000000..641049252
--- /dev/null
+++ b/ganttzk/src/main/resources/web/ganttz/zul/timetracker/timetrackersecondlevel.zul
@@ -0,0 +1,30 @@
+
+
+
\ No newline at end of file