diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/area/AreaChart01.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/area/AreaChart01.java
index 6f6db67d728c82ca457457e36a1ccfc918549f9f..854cc5580cfa924a693b4c71b82914eff6597508 100644
--- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/area/AreaChart01.java
+++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/area/AreaChart01.java
@@ -18,9 +18,9 @@ package com.xeiam.xchart.demo.charts.area;
 import com.xeiam.xchart.Chart;
 import com.xeiam.xchart.ChartBuilder;
 import com.xeiam.xchart.SwingWrapper;
+import com.xeiam.xchart.StyleManager.ChartType;
+import com.xeiam.xchart.StyleManager.LegendPosition;
 import com.xeiam.xchart.demo.charts.ExampleChart;
-import com.xeiam.xchart.style.StyleManager.ChartType;
-import com.xeiam.xchart.style.StyleManager.LegendPosition;
 
 /**
  * 3-Series
diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/bar/BarChart01.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/bar/BarChart01.java
index ec119137e5129d85c4c109d7142b846d6d451299..076fbdf93e6651e7247d5f3f55004ef9799ca68a 100644
--- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/bar/BarChart01.java
+++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/bar/BarChart01.java
@@ -24,9 +24,9 @@ package com.xeiam.xchart.demo.charts.bar;
 import com.xeiam.xchart.Chart;
 import com.xeiam.xchart.ChartBuilder;
 import com.xeiam.xchart.SwingWrapper;
+import com.xeiam.xchart.StyleManager.ChartType;
+import com.xeiam.xchart.StyleManager.LegendPosition;
 import com.xeiam.xchart.demo.charts.ExampleChart;
-import com.xeiam.xchart.style.StyleManager.ChartType;
-import com.xeiam.xchart.style.StyleManager.LegendPosition;
 
 /**
  * Basic Bar Chart
diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/bar/BarChart02.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/bar/BarChart02.java
index 51325c8986ba69f82aa854a7fa78019bbaecaa8d..6dff89a8fc7f521d62a50b6f44cf23dcfb52b128 100644
--- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/bar/BarChart02.java
+++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/bar/BarChart02.java
@@ -32,8 +32,8 @@ import java.util.Random;
 import com.xeiam.xchart.Chart;
 import com.xeiam.xchart.ChartBuilder;
 import com.xeiam.xchart.SwingWrapper;
+import com.xeiam.xchart.StyleManager.ChartType;
 import com.xeiam.xchart.demo.charts.ExampleChart;
-import com.xeiam.xchart.style.StyleManager.ChartType;
 
 /**
  * Basic Bar Chart
diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/bar/BarChart03.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/bar/BarChart03.java
index 6f49563d52059a72268105c3ac2d9a9ecea012b0..e24bfc7e0f9e4539b46d53fd4da4d4d04aaaf5f8 100644
--- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/bar/BarChart03.java
+++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/bar/BarChart03.java
@@ -24,8 +24,8 @@ package com.xeiam.xchart.demo.charts.bar;
 import com.xeiam.xchart.Chart;
 import com.xeiam.xchart.ChartBuilder;
 import com.xeiam.xchart.SwingWrapper;
+import com.xeiam.xchart.StyleManager.ChartType;
 import com.xeiam.xchart.demo.charts.ExampleChart;
-import com.xeiam.xchart.style.StyleManager.ChartType;
 
 /**
  * Basic Bar Chart
diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/bar/BarChart04.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/bar/BarChart04.java
index 181c2fd1588a04d9ad87f03ff1a00320f1ad7078..6040e454a91010d4177a3f43fb1fb26575f90cb1 100644
--- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/bar/BarChart04.java
+++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/bar/BarChart04.java
@@ -24,8 +24,8 @@ package com.xeiam.xchart.demo.charts.bar;
 import com.xeiam.xchart.Chart;
 import com.xeiam.xchart.ChartBuilder;
 import com.xeiam.xchart.SwingWrapper;
+import com.xeiam.xchart.StyleManager.ChartType;
 import com.xeiam.xchart.demo.charts.ExampleChart;
-import com.xeiam.xchart.style.StyleManager.ChartType;
 
 /**
  * Missing Point in Series
diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/bar/BarChart05.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/bar/BarChart05.java
index 689c341a4420bec3a3cd2cd83dc10b771a1b4d5d..45dc5ad15ec90265f5d50c75e52f406d432e90df 100644
--- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/bar/BarChart05.java
+++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/bar/BarChart05.java
@@ -27,9 +27,9 @@ import java.util.Arrays;
 import com.xeiam.xchart.Chart;
 import com.xeiam.xchart.ChartBuilder;
 import com.xeiam.xchart.SwingWrapper;
+import com.xeiam.xchart.StyleManager.ChartTheme;
+import com.xeiam.xchart.StyleManager.ChartType;
 import com.xeiam.xchart.demo.charts.ExampleChart;
-import com.xeiam.xchart.style.StyleManager.ChartType;
-import com.xeiam.xchart.style.theme.GGPlot2Theme;
 
 /**
  * <p>
@@ -52,7 +52,7 @@ public class BarChart05 implements ExampleChart {
   public Chart getChart() {
 
     // Create Chart
-    Chart chart = new ChartBuilder().chartType(ChartType.Bar).width(800).height(600).title("Temperature vs. Color").xAxisTitle("Color").yAxisTitle("Temperature").theme(new GGPlot2Theme()).build();
+    Chart chart = new ChartBuilder().chartType(ChartType.Bar).width(800).height(600).title("Temperature vs. Color").xAxisTitle("Color").yAxisTitle("Temperature").theme(ChartTheme.GGPlot2).build();
     // List<Number> data = ;
     chart.addCategorySeries("fish", new ArrayList<String>(Arrays.asList(new String[] { "Blue", "Red", "Green", "Yellow" })), new ArrayList<Number>(Arrays.asList(new Number[] { -40, 30, 20, 60 })));
     chart.addCategorySeries("worms", new ArrayList<String>(Arrays.asList(new String[] { "Blue", "Red", "Green", "Yellow" })), new ArrayList<Number>(Arrays.asList(new Number[] { 50, 10, -20, 40 })));
diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart01.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart01.java
index ce2a9aee50a6a9a5c01ad0e0c79d60e33c39f642..3b393a30a08b197c1c69f025b934165f8c2771fa 100644
--- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart01.java
+++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart01.java
@@ -26,9 +26,9 @@ import java.util.Random;
 import com.xeiam.xchart.Chart;
 import com.xeiam.xchart.ChartBuilder;
 import com.xeiam.xchart.Series;
+import com.xeiam.xchart.SeriesMarker;
 import com.xeiam.xchart.SwingWrapper;
 import com.xeiam.xchart.demo.charts.ExampleChart;
-import com.xeiam.xchart.style.SeriesMarker;
 
 /**
  * Millisecond Scale
diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart01.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart01.java
index 2c5d98be2c2e96191c4d626909739ad2288313f6..adf3d786ecd6ea23fb3bbbed9e5e72280f03233b 100644
--- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart01.java
+++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart01.java
@@ -21,8 +21,8 @@ import java.util.List;
 import com.xeiam.xchart.Chart;
 import com.xeiam.xchart.ChartBuilder;
 import com.xeiam.xchart.SwingWrapper;
+import com.xeiam.xchart.StyleManager.LegendPosition;
 import com.xeiam.xchart.demo.charts.ExampleChart;
-import com.xeiam.xchart.style.StyleManager.LegendPosition;
 
 /**
  * Logarithmic Y-Axis
@@ -50,7 +50,7 @@ public class LineChart01 implements ExampleChart {
     List<Number> yData = new ArrayList<Number>();
     for (int i = -3; i <= 3; i++) {
       xData.add(i);
-      yData.add(Math.pow(10, i) - 1);
+      yData.add(Math.pow(10, i));
     }
 
     // Create Chart
diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart02.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart02.java
index 141710eff9da4aa7c1822588b1446ec96b0c1429..8b29442236166d594a8141ccfaff795538bb6c94 100644
--- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart02.java
+++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart02.java
@@ -20,11 +20,11 @@ import java.util.List;
 
 import com.xeiam.xchart.Chart;
 import com.xeiam.xchart.Series;
+import com.xeiam.xchart.SeriesColor;
+import com.xeiam.xchart.SeriesLineStyle;
+import com.xeiam.xchart.SeriesMarker;
 import com.xeiam.xchart.SwingWrapper;
 import com.xeiam.xchart.demo.charts.ExampleChart;
-import com.xeiam.xchart.style.SeriesColor;
-import com.xeiam.xchart.style.SeriesLineStyle;
-import com.xeiam.xchart.style.SeriesMarker;
 
 /**
  * Sine wave with customized series style
diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart03.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart03.java
index a514c0fe4dd2969fb1f57f6544e4340273064519..4c45430f2a080a7d56a6d16f2921743266941493 100644
--- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart03.java
+++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart03.java
@@ -26,14 +26,14 @@ import java.util.Date;
 import java.util.Locale;
 
 import com.xeiam.xchart.Chart;
+import com.xeiam.xchart.ChartColor;
 import com.xeiam.xchart.Series;
+import com.xeiam.xchart.SeriesColor;
+import com.xeiam.xchart.SeriesLineStyle;
+import com.xeiam.xchart.SeriesMarker;
 import com.xeiam.xchart.SwingWrapper;
+import com.xeiam.xchart.StyleManager.LegendPosition;
 import com.xeiam.xchart.demo.charts.ExampleChart;
-import com.xeiam.xchart.style.ChartColor;
-import com.xeiam.xchart.style.SeriesColor;
-import com.xeiam.xchart.style.SeriesLineStyle;
-import com.xeiam.xchart.style.SeriesMarker;
-import com.xeiam.xchart.style.StyleManager.LegendPosition;
 
 /**
  * Extensive Chart Customization
diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart04.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart04.java
index 3e9d8f452c899d12537cef08de46170658bd4f96..2f345c291db1125b9f5fddfe0d56d335c8526f8f 100644
--- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart04.java
+++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart04.java
@@ -17,11 +17,11 @@ package com.xeiam.xchart.demo.charts.line;
 
 import com.xeiam.xchart.Chart;
 import com.xeiam.xchart.Series;
+import com.xeiam.xchart.SeriesColor;
+import com.xeiam.xchart.SeriesLineStyle;
+import com.xeiam.xchart.SeriesMarker;
 import com.xeiam.xchart.SwingWrapper;
 import com.xeiam.xchart.demo.charts.ExampleChart;
-import com.xeiam.xchart.style.SeriesColor;
-import com.xeiam.xchart.style.SeriesLineStyle;
-import com.xeiam.xchart.style.SeriesMarker;
 
 /**
  * Plots Hundreds of Series on One Plot
diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/scatter/ScatterChart01.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/scatter/ScatterChart01.java
index 2240c62b1878aeba1d8d5d42ba9badfc66f72a5e..b40e0d5c707617db63a771c044db871553925594 100644
--- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/scatter/ScatterChart01.java
+++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/scatter/ScatterChart01.java
@@ -21,9 +21,9 @@ import java.util.Random;
 
 import com.xeiam.xchart.Chart;
 import com.xeiam.xchart.SwingWrapper;
+import com.xeiam.xchart.StyleManager.ChartType;
+import com.xeiam.xchart.StyleManager.LegendPosition;
 import com.xeiam.xchart.demo.charts.ExampleChart;
-import com.xeiam.xchart.style.StyleManager.ChartType;
-import com.xeiam.xchart.style.StyleManager.LegendPosition;
 
 /**
  * Gaussian Blob
diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/scatter/ScatterChart02.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/scatter/ScatterChart02.java
index 1dd235069b7f90f9d7d7e588f40f89a8fe5a0885..8923dd2af17da0403fdde7927793646b8385759d 100644
--- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/scatter/ScatterChart02.java
+++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/scatter/ScatterChart02.java
@@ -21,9 +21,9 @@ import java.util.Random;
 
 import com.xeiam.xchart.Chart;
 import com.xeiam.xchart.SwingWrapper;
+import com.xeiam.xchart.StyleManager.ChartType;
+import com.xeiam.xchart.StyleManager.LegendPosition;
 import com.xeiam.xchart.demo.charts.ExampleChart;
-import com.xeiam.xchart.style.StyleManager.ChartType;
-import com.xeiam.xchart.style.StyleManager.LegendPosition;
 
 /**
  * Logarithmic Data
diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/scatter/ScatterChart04.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/scatter/ScatterChart04.java
index d085db1f2f07779e2b12cb47cfc40cdc21b253af..118746b2c15612abb50018fe56ebc3cdbb440870 100644
--- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/scatter/ScatterChart04.java
+++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/scatter/ScatterChart04.java
@@ -22,10 +22,10 @@ import java.util.List;
 import com.xeiam.xchart.Chart;
 import com.xeiam.xchart.ChartBuilder;
 import com.xeiam.xchart.Series;
+import com.xeiam.xchart.SeriesMarker;
 import com.xeiam.xchart.SwingWrapper;
+import com.xeiam.xchart.StyleManager.ChartType;
 import com.xeiam.xchart.demo.charts.ExampleChart;
-import com.xeiam.xchart.style.SeriesMarker;
-import com.xeiam.xchart.style.StyleManager.ChartType;
 
 /**
  * Error Bars
diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/theme/ThemeChart02.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/theme/ThemeChart02.java
index 4c508dd750c7e17be4d969122461f4f8c9b37749..b9505f9f3acbd8458bcefdf3e4ae0bd24ffda24e 100644
--- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/theme/ThemeChart02.java
+++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/theme/ThemeChart02.java
@@ -18,8 +18,8 @@ package com.xeiam.xchart.demo.charts.theme;
 import com.xeiam.xchart.Chart;
 import com.xeiam.xchart.ChartBuilder;
 import com.xeiam.xchart.SwingWrapper;
+import com.xeiam.xchart.StyleManager.ChartTheme;
 import com.xeiam.xchart.demo.charts.ExampleChart;
-import com.xeiam.xchart.style.theme.GGPlot2Theme;
 
 /**
  * GGPlot2 Theme
@@ -43,7 +43,7 @@ public class ThemeChart02 implements ExampleChart {
   public Chart getChart() {
 
     // Create Chart
-    Chart chart = new ChartBuilder().width(800).height(600).theme(new GGPlot2Theme()).title("GGPlot2Theme").xAxisTitle("X").yAxisTitle("Y").build();
+    Chart chart = new ChartBuilder().width(800).height(600).theme(ChartTheme.GGPlot2).title("GGPlot2Theme").xAxisTitle("X").yAxisTitle("Y").build();
 
     chart.addSeries("vertical", new double[] { 1, 1 }, new double[] { -10, 10 });
     chart.addSeries("horizontal", new double[] { -10, 10 }, new double[] { 0, 0 });
diff --git a/xchart/src/main/java/com/xeiam/xchart/Chart.java b/xchart/src/main/java/com/xeiam/xchart/Chart.java
index db6b70ebb2dc45777f03cc07668845d7fdcef580..8edcd3f3fb935619e0b6752c6c2ca50b3394f400 100644
--- a/xchart/src/main/java/com/xeiam/xchart/Chart.java
+++ b/xchart/src/main/java/com/xeiam/xchart/Chart.java
@@ -26,8 +26,7 @@ import com.xeiam.xchart.internal.chartpart.AxisPair;
 import com.xeiam.xchart.internal.chartpart.ChartTitle;
 import com.xeiam.xchart.internal.chartpart.Legend;
 import com.xeiam.xchart.internal.chartpart.Plot;
-import com.xeiam.xchart.style.StyleManager;
-import com.xeiam.xchart.style.theme.Theme;
+import com.xeiam.xchart.internal.style.Theme;
 
 /**
  * An XChart Chart
@@ -73,7 +72,7 @@ public class Chart {
   public Chart(ChartBuilder chartBuilder) {
 
     this(chartBuilder.width, chartBuilder.height);
-    setTheme(chartBuilder.theme);
+    getStyleManager().setChartTheme(chartBuilder.chartTheme);
     setChartTitle(chartBuilder.title);
     setXAxisTitle(chartBuilder.xAxisTitle);
     setYAxisTitle(chartBuilder.yAxisTitle);
diff --git a/xchart/src/main/java/com/xeiam/xchart/ChartBuilder.java b/xchart/src/main/java/com/xeiam/xchart/ChartBuilder.java
index bb01df2dbb37af0b4eacbad7299e49183a5139d4..887069b273ce87ba9b09ffe972a83b9cc8a1a12c 100644
--- a/xchart/src/main/java/com/xeiam/xchart/ChartBuilder.java
+++ b/xchart/src/main/java/com/xeiam/xchart/ChartBuilder.java
@@ -21,9 +21,8 @@
  */
 package com.xeiam.xchart;
 
-import com.xeiam.xchart.style.StyleManager.ChartType;
-import com.xeiam.xchart.style.theme.Theme;
-import com.xeiam.xchart.style.theme.XChartTheme;
+import com.xeiam.xchart.StyleManager.ChartTheme;
+import com.xeiam.xchart.StyleManager.ChartType;
 
 /**
  * @author timmolter
@@ -36,7 +35,7 @@ public class ChartBuilder {
   String title = "";
   String xAxisTitle = "";
   String yAxisTitle = "";
-  Theme theme = new XChartTheme();
+  ChartTheme chartTheme = ChartTheme.XChart;
 
   public ChartBuilder chartType(ChartType chartType) {
 
@@ -74,9 +73,9 @@ public class ChartBuilder {
     return this;
   }
 
-  public ChartBuilder theme(Theme theme) {
+  public ChartBuilder theme(ChartTheme chartTheme) {
 
-    this.theme = theme;
+    this.chartTheme = chartTheme;
     return this;
   }
 
diff --git a/xchart/src/main/java/com/xeiam/xchart/style/ChartColor.java b/xchart/src/main/java/com/xeiam/xchart/ChartColor.java
similarity index 97%
rename from xchart/src/main/java/com/xeiam/xchart/style/ChartColor.java
rename to xchart/src/main/java/com/xeiam/xchart/ChartColor.java
index bce06330460f8c30279c72bb3b35987ae146395e..7cbd595ea0db39c2b9d9f3393611200e221bef1f 100644
--- a/xchart/src/main/java/com/xeiam/xchart/style/ChartColor.java
+++ b/xchart/src/main/java/com/xeiam/xchart/ChartColor.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.xeiam.xchart.style;
+package com.xeiam.xchart;
 
 import java.awt.Color;
 
diff --git a/xchart/src/main/java/com/xeiam/xchart/QuickChart.java b/xchart/src/main/java/com/xeiam/xchart/QuickChart.java
index 7450bc0c4bc1b259530cffee561a52c7086bbdf3..659126eb8ab399b332084abf4db0af593bf71c7a 100644
--- a/xchart/src/main/java/com/xeiam/xchart/QuickChart.java
+++ b/xchart/src/main/java/com/xeiam/xchart/QuickChart.java
@@ -17,7 +17,6 @@ package com.xeiam.xchart;
 
 import java.util.Collection;
 
-import com.xeiam.xchart.style.SeriesMarker;
 
 /**
  * A convenience class for making Charts with one line of code
diff --git a/xchart/src/main/java/com/xeiam/xchart/Series.java b/xchart/src/main/java/com/xeiam/xchart/Series.java
index 771789ce4f461562aaca2c5cd6ccea948d66921b..2e0a55ca6ec82889ed5dfae0c94ce7e41e3013c3 100644
--- a/xchart/src/main/java/com/xeiam/xchart/Series.java
+++ b/xchart/src/main/java/com/xeiam/xchart/Series.java
@@ -24,10 +24,7 @@ import java.util.Iterator;
 
 import com.xeiam.xchart.internal.chartpart.Axis.AxisType;
 import com.xeiam.xchart.internal.markers.Marker;
-import com.xeiam.xchart.style.SeriesColor;
-import com.xeiam.xchart.style.SeriesColorMarkerLineStyle;
-import com.xeiam.xchart.style.SeriesLineStyle;
-import com.xeiam.xchart.style.SeriesMarker;
+import com.xeiam.xchart.internal.style.SeriesColorMarkerLineStyle;
 
 /**
  * A Series containing X and Y data to be plotted on a Chart
diff --git a/xchart/src/main/java/com/xeiam/xchart/style/SeriesColor.java b/xchart/src/main/java/com/xeiam/xchart/SeriesColor.java
similarity index 98%
rename from xchart/src/main/java/com/xeiam/xchart/style/SeriesColor.java
rename to xchart/src/main/java/com/xeiam/xchart/SeriesColor.java
index d32d63b009a23017fa7b89c7d25fa42bf0d0ac78..b4dcf188c612b351840c4baae7025263c6676bad 100644
--- a/xchart/src/main/java/com/xeiam/xchart/style/SeriesColor.java
+++ b/xchart/src/main/java/com/xeiam/xchart/SeriesColor.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.xeiam.xchart.style;
+package com.xeiam.xchart;
 
 import java.awt.Color;
 
diff --git a/xchart/src/main/java/com/xeiam/xchart/style/SeriesLineStyle.java b/xchart/src/main/java/com/xeiam/xchart/SeriesLineStyle.java
similarity index 98%
rename from xchart/src/main/java/com/xeiam/xchart/style/SeriesLineStyle.java
rename to xchart/src/main/java/com/xeiam/xchart/SeriesLineStyle.java
index 1642ff21c5697186ff0753fceb3a6851ac038544..7573a64596050ec6523f301cad0f1da7f7a46f1d 100644
--- a/xchart/src/main/java/com/xeiam/xchart/style/SeriesLineStyle.java
+++ b/xchart/src/main/java/com/xeiam/xchart/SeriesLineStyle.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.xeiam.xchart.style;
+package com.xeiam.xchart;
 
 import java.awt.BasicStroke;
 
diff --git a/xchart/src/main/java/com/xeiam/xchart/style/SeriesMarker.java b/xchart/src/main/java/com/xeiam/xchart/SeriesMarker.java
similarity index 98%
rename from xchart/src/main/java/com/xeiam/xchart/style/SeriesMarker.java
rename to xchart/src/main/java/com/xeiam/xchart/SeriesMarker.java
index 8ffa8d257acab1e27c2474bce88e9b8792a830c0..04db9f0072b32b7683efad73004884b9e3dbcc53 100644
--- a/xchart/src/main/java/com/xeiam/xchart/style/SeriesMarker.java
+++ b/xchart/src/main/java/com/xeiam/xchart/SeriesMarker.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.xeiam.xchart.style;
+package com.xeiam.xchart;
 
 import com.xeiam.xchart.internal.markers.Circle;
 import com.xeiam.xchart.internal.markers.Diamond;
diff --git a/xchart/src/main/java/com/xeiam/xchart/style/StyleManager.java b/xchart/src/main/java/com/xeiam/xchart/StyleManager.java
similarity index 97%
rename from xchart/src/main/java/com/xeiam/xchart/style/StyleManager.java
rename to xchart/src/main/java/com/xeiam/xchart/StyleManager.java
index 54c1fc178bb059a0a3030c3fa973e5af58d9dcc9..51eef94d5107a9d3ab0a7888ca1301dafb7679a9 100644
--- a/xchart/src/main/java/com/xeiam/xchart/style/StyleManager.java
+++ b/xchart/src/main/java/com/xeiam/xchart/StyleManager.java
@@ -19,7 +19,7 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-package com.xeiam.xchart.style;
+package com.xeiam.xchart;
 
 import java.awt.Color;
 import java.awt.Font;
@@ -27,8 +27,9 @@ import java.awt.Stroke;
 import java.util.Locale;
 import java.util.TimeZone;
 
-import com.xeiam.xchart.style.theme.Theme;
-import com.xeiam.xchart.style.theme.XChartTheme;
+import com.xeiam.xchart.internal.style.GGPlot2Theme;
+import com.xeiam.xchart.internal.style.Theme;
+import com.xeiam.xchart.internal.style.XChartTheme;
 
 /**
  * @author timmolter
@@ -45,6 +46,11 @@ public class StyleManager {
     OutsideW, InsideNW, InsideNE, InsideSE, InsideSW
   }
 
+  public enum ChartTheme {
+
+    XChart, GGPlot2
+  }
+
   /** the default Theme */
   private Theme theme = new XChartTheme();
 
@@ -192,6 +198,25 @@ public class StyleManager {
     setAllStyles();
   }
 
+  /**
+   * Set the ChartTheme the style manager should use
+   * 
+   * @param theme
+   */
+  public void setChartTheme(ChartTheme chartTheme) {
+
+    if (chartTheme == ChartTheme.XChart) {
+      setTheme(new XChartTheme());
+    } else if (chartTheme == ChartTheme.GGPlot2) {
+      setTheme(new GGPlot2Theme());
+    }
+  }
+
+  public Theme getTheme() {
+
+    return theme;
+  }
+
   // Chart Style ///////////////////////////////
 
   /**
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Axis.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Axis.java
index 2d7b4e3b03a9ae7ff0aab8aaad5e9995023827c1..7375ad5ca2e2570cb2b7dada83b7d18faa2af4dd 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Axis.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Axis.java
@@ -22,7 +22,7 @@ import java.awt.font.TextLayout;
 import java.math.BigDecimal;
 
 import com.xeiam.xchart.Chart;
-import com.xeiam.xchart.style.StyleManager.LegendPosition;
+import com.xeiam.xchart.StyleManager.LegendPosition;
 
 /**
  * Axis
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisPair.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisPair.java
index 8f78703a3e4dc4bc2819f2a5606ead4e8226141d..bc69d438074e84c70b268fa0322624e99e260af7 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisPair.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisPair.java
@@ -27,7 +27,7 @@ import java.util.Map;
 import com.xeiam.xchart.Chart;
 import com.xeiam.xchart.Series;
 import com.xeiam.xchart.internal.chartpart.Axis.AxisType;
-import com.xeiam.xchart.style.SeriesColorMarkerLineStyleCycler;
+import com.xeiam.xchart.internal.style.SeriesColorMarkerLineStyleCycler;
 
 /**
  * @author timmolter
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTick.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTick.java
index 385db6db7ce7a667a15263bbc2bdc8d81813d59e..dd21255930f2d3a18afa067a785de68e5d041716 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTick.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTick.java
@@ -20,13 +20,8 @@ import java.awt.Rectangle;
 import java.util.List;
 
 import com.xeiam.xchart.Chart;
+import com.xeiam.xchart.StyleManager.ChartType;
 import com.xeiam.xchart.internal.chartpart.Axis.AxisType;
-import com.xeiam.xchart.internal.chartpart.axistickcalculator.AxisTickCalculator;
-import com.xeiam.xchart.internal.chartpart.axistickcalculator.BarChartAxisTickCalculator;
-import com.xeiam.xchart.internal.chartpart.axistickcalculator.DateAxisTickCalculator;
-import com.xeiam.xchart.internal.chartpart.axistickcalculator.LogarithmicAxisTickCalculator;
-import com.xeiam.xchart.internal.chartpart.axistickcalculator.NumberAxisTickCalculator;
-import com.xeiam.xchart.style.StyleManager.ChartType;
 
 /**
  * An axis tick
@@ -86,23 +81,23 @@ public class AxisTick implements ChartPart {
 
     if (axis.getDirection() == Axis.Direction.X && getChart().getStyleManager().getChartType() == ChartType.Bar) {
 
-      gridStep = new BarChartAxisTickCalculator(axis.getDirection(), workingSpace, axis.getMin(), axis.getMax(), getChart());
+      gridStep = new AxisTickBarChartCalculator(axis.getDirection(), workingSpace, axis.getMin(), axis.getMax(), getChart());
 
     } else if (axis.getDirection() == Axis.Direction.X && getChart().getStyleManager().isXAxisLogarithmic() && axis.getAxisType() != AxisType.Date) {
 
-      gridStep = new LogarithmicAxisTickCalculator(axis.getDirection(), workingSpace, axis.getMin(), axis.getMax(), getChart().getStyleManager());
+      gridStep = new AxisTickLogarithmicCalculator(axis.getDirection(), workingSpace, axis.getMin(), axis.getMax(), getChart().getStyleManager());
 
     } else if (axis.getDirection() == Axis.Direction.Y && getChart().getStyleManager().isYAxisLogarithmic() && axis.getAxisType() != AxisType.Date) {
 
-      gridStep = new LogarithmicAxisTickCalculator(axis.getDirection(), workingSpace, axis.getMin(), axis.getMax(), getChart().getStyleManager());
+      gridStep = new AxisTickLogarithmicCalculator(axis.getDirection(), workingSpace, axis.getMin(), axis.getMax(), getChart().getStyleManager());
 
     } else if (axis.getAxisType() == AxisType.Number) {
 
-      gridStep = new NumberAxisTickCalculator(axis.getDirection(), workingSpace, axis.getMin(), axis.getMax(), getChart().getStyleManager());
+      gridStep = new AxisTickNumericalCalculator(axis.getDirection(), workingSpace, axis.getMin(), axis.getMax(), getChart().getStyleManager());
 
     } else if (axis.getAxisType() == AxisType.Date) {
 
-      gridStep = new DateAxisTickCalculator(axis.getDirection(), workingSpace, axis.getMin(), axis.getMax(), getChart().getStyleManager());
+      gridStep = new AxisTickDateCalculator(axis.getDirection(), workingSpace, axis.getMin(), axis.getMax(), getChart().getStyleManager());
 
     }
 
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/axistickcalculator/BarChartAxisTickCalculator.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickBarChartCalculator.java
similarity index 95%
rename from xchart/src/main/java/com/xeiam/xchart/internal/chartpart/axistickcalculator/BarChartAxisTickCalculator.java
rename to xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickBarChartCalculator.java
index 4e257ae82e55601868cee138497a9329de5394c0..d3c3aca9b20e0620343a918df313fc4e9f06ccd8 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/axistickcalculator/BarChartAxisTickCalculator.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickBarChartCalculator.java
@@ -19,7 +19,7 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-package com.xeiam.xchart.internal.chartpart.axistickcalculator;
+package com.xeiam.xchart.internal.chartpart;
 
 import java.math.BigDecimal;
 import java.util.Date;
@@ -32,14 +32,13 @@ import com.xeiam.xchart.Chart;
 import com.xeiam.xchart.Series;
 import com.xeiam.xchart.internal.chartpart.Axis.AxisType;
 import com.xeiam.xchart.internal.chartpart.Axis.Direction;
-import com.xeiam.xchart.internal.chartpart.AxisPair;
 
 /**
  * This class encapsulates the logic to generate the axis tick mark and axis tick label data for rendering the axis ticks for decimal axes
  * 
  * @author timmolter
  */
-public class BarChartAxisTickCalculator extends AxisTickCalculator {
+public class AxisTickBarChartCalculator extends AxisTickCalculator {
 
   /**
    * Constructor
@@ -50,7 +49,7 @@ public class BarChartAxisTickCalculator extends AxisTickCalculator {
    * @param maxValue
    * @param styleManager
    */
-  public BarChartAxisTickCalculator(Direction axisDirection, int workingSpace, BigDecimal minValue, BigDecimal maxValue, Chart chart) {
+  public AxisTickBarChartCalculator(Direction axisDirection, int workingSpace, BigDecimal minValue, BigDecimal maxValue, Chart chart) {
 
     super(axisDirection, workingSpace, minValue, maxValue, chart.getStyleManager());
     calculate(chart);
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/axistickcalculator/AxisTickCalculator.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickCalculator.java
similarity index 96%
rename from xchart/src/main/java/com/xeiam/xchart/internal/chartpart/axistickcalculator/AxisTickCalculator.java
rename to xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickCalculator.java
index 4305f2e45555d3856177c93279f1dbd863765d7d..4b19ff49057be419d5b06fc9379f5c914a74ae84 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/axistickcalculator/AxisTickCalculator.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickCalculator.java
@@ -19,15 +19,15 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-package com.xeiam.xchart.internal.chartpart.axistickcalculator;
+package com.xeiam.xchart.internal.chartpart;
 
 import java.math.BigDecimal;
 import java.util.LinkedList;
 import java.util.List;
 
+import com.xeiam.xchart.StyleManager;
+import com.xeiam.xchart.StyleManager.ChartType;
 import com.xeiam.xchart.internal.chartpart.Axis.Direction;
-import com.xeiam.xchart.style.StyleManager;
-import com.xeiam.xchart.style.StyleManager.ChartType;
 
 /**
  * @author timmolter
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/axistickcalculator/DateAxisTickCalculator.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickDateCalculator.java
similarity index 92%
rename from xchart/src/main/java/com/xeiam/xchart/internal/chartpart/axistickcalculator/DateAxisTickCalculator.java
rename to xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickDateCalculator.java
index 77c253de9baef4ebd94d843c1c7c375a50ceb10f..5461de0d4b4e033fa7e5b2ea088884962589601e 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/axistickcalculator/DateAxisTickCalculator.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickDateCalculator.java
@@ -19,20 +19,19 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-package com.xeiam.xchart.internal.chartpart.axistickcalculator;
+package com.xeiam.xchart.internal.chartpart;
 
 import java.math.BigDecimal;
 
+import com.xeiam.xchart.StyleManager;
 import com.xeiam.xchart.internal.chartpart.Axis.Direction;
-import com.xeiam.xchart.internal.chartpart.AxisPair;
-import com.xeiam.xchart.style.StyleManager;
 
 /**
  * This class encapsulates the logic to generate the axis tick mark and axis tick label data for rendering the axis ticks for date axes
  * 
  * @author timmolter
  */
-public class DateAxisTickCalculator extends AxisTickCalculator {
+public class AxisTickDateCalculator extends AxisTickCalculator {
 
   DateFormatter dateFormatter;
 
@@ -45,7 +44,7 @@ public class DateAxisTickCalculator extends AxisTickCalculator {
    * @param maxValue
    * @param styleManager
    */
-  public DateAxisTickCalculator(Direction axisDirection, int workingSpace, BigDecimal minValue, BigDecimal maxValue, StyleManager styleManager) {
+  public AxisTickDateCalculator(Direction axisDirection, int workingSpace, BigDecimal minValue, BigDecimal maxValue, StyleManager styleManager) {
 
     super(axisDirection, workingSpace, minValue, maxValue, styleManager);
     dateFormatter = new DateFormatter(styleManager);
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/axistickcalculator/LogarithmicAxisTickCalculator.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickLogarithmicCalculator.java
similarity index 92%
rename from xchart/src/main/java/com/xeiam/xchart/internal/chartpart/axistickcalculator/LogarithmicAxisTickCalculator.java
rename to xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickLogarithmicCalculator.java
index 0345a5594e39bb5ab7a66da130ad4734b6da2739..ba057debd1d57168b232575ddb629b6769604fc9 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/axistickcalculator/LogarithmicAxisTickCalculator.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickLogarithmicCalculator.java
@@ -19,20 +19,19 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-package com.xeiam.xchart.internal.chartpart.axistickcalculator;
+package com.xeiam.xchart.internal.chartpart;
 
 import java.math.BigDecimal;
 
+import com.xeiam.xchart.StyleManager;
 import com.xeiam.xchart.internal.chartpart.Axis.Direction;
-import com.xeiam.xchart.internal.chartpart.AxisPair;
-import com.xeiam.xchart.style.StyleManager;
 
 /**
  * This class encapsulates the logic to generate the axis tick mark and axis tick label data for rendering the axis ticks for logarithmic axes
  * 
  * @author timmolter
  */
-public class LogarithmicAxisTickCalculator extends AxisTickCalculator {
+public class AxisTickLogarithmicCalculator extends AxisTickCalculator {
 
   NumberFormatter numberFormatter = null;
 
@@ -45,7 +44,7 @@ public class LogarithmicAxisTickCalculator extends AxisTickCalculator {
    * @param maxValue
    * @param styleManager
    */
-  public LogarithmicAxisTickCalculator(Direction axisDirection, int workingSpace, BigDecimal minValue, BigDecimal maxValue, StyleManager styleManager) {
+  public AxisTickLogarithmicCalculator(Direction axisDirection, int workingSpace, BigDecimal minValue, BigDecimal maxValue, StyleManager styleManager) {
 
     super(axisDirection, workingSpace, minValue, maxValue, styleManager);
     numberFormatter = new NumberFormatter(styleManager);
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/axistickcalculator/NumberAxisTickCalculator.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickNumericalCalculator.java
similarity index 92%
rename from xchart/src/main/java/com/xeiam/xchart/internal/chartpart/axistickcalculator/NumberAxisTickCalculator.java
rename to xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickNumericalCalculator.java
index ed398a3078504a75729e843ca556b1ba4de017fd..50c7441908d07cdbf68ab705bbe06bcd4d709bc8 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/axistickcalculator/NumberAxisTickCalculator.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickNumericalCalculator.java
@@ -19,20 +19,19 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-package com.xeiam.xchart.internal.chartpart.axistickcalculator;
+package com.xeiam.xchart.internal.chartpart;
 
 import java.math.BigDecimal;
 
+import com.xeiam.xchart.StyleManager;
 import com.xeiam.xchart.internal.chartpart.Axis.Direction;
-import com.xeiam.xchart.internal.chartpart.AxisPair;
-import com.xeiam.xchart.style.StyleManager;
 
 /**
  * This class encapsulates the logic to generate the axis tick mark and axis tick label data for rendering the axis ticks for decimal axes
  * 
  * @author timmolter
  */
-public class NumberAxisTickCalculator extends AxisTickCalculator {
+public class AxisTickNumericalCalculator extends AxisTickCalculator {
 
   NumberFormatter numberFormatter = null;
 
@@ -45,7 +44,7 @@ public class NumberAxisTickCalculator extends AxisTickCalculator {
    * @param maxValue
    * @param styleManager
    */
-  public NumberAxisTickCalculator(Direction axisDirection, int workingSpace, BigDecimal minValue, BigDecimal maxValue, StyleManager styleManager) {
+  public AxisTickNumericalCalculator(Direction axisDirection, int workingSpace, BigDecimal minValue, BigDecimal maxValue, StyleManager styleManager) {
 
     super(axisDirection, workingSpace, minValue, maxValue, styleManager);
     numberFormatter = new NumberFormatter(styleManager);
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/axistickcalculator/DateFormatter.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/DateFormatter.java
similarity index 97%
rename from xchart/src/main/java/com/xeiam/xchart/internal/chartpart/axistickcalculator/DateFormatter.java
rename to xchart/src/main/java/com/xeiam/xchart/internal/chartpart/DateFormatter.java
index 6f03f330b818a6911eee3ba95745d093076b1955..ad9f220c28bcf6f85ce40a08df8ed4db5e6fa854 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/axistickcalculator/DateFormatter.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/DateFormatter.java
@@ -19,7 +19,7 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-package com.xeiam.xchart.internal.chartpart.axistickcalculator;
+package com.xeiam.xchart.internal.chartpart;
 
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
@@ -28,7 +28,7 @@ import java.util.Map.Entry;
 import java.util.TreeMap;
 import java.util.concurrent.TimeUnit;
 
-import com.xeiam.xchart.style.StyleManager;
+import com.xeiam.xchart.StyleManager;
 
 /**
  * @author timmolter
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Legend.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Legend.java
index 1770cea61e780d61a7ede7e350584d229d9adf43..4a35168bfff004d67bd9ee021d3fbfd7dd1405f8 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Legend.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Legend.java
@@ -24,8 +24,8 @@ import java.util.Map;
 
 import com.xeiam.xchart.Chart;
 import com.xeiam.xchart.Series;
+import com.xeiam.xchart.StyleManager.ChartType;
 import com.xeiam.xchart.internal.markers.Marker;
-import com.xeiam.xchart.style.StyleManager.ChartType;
 
 /**
  * @author timmolter
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/axistickcalculator/NumberFormatter.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/NumberFormatter.java
similarity index 95%
rename from xchart/src/main/java/com/xeiam/xchart/internal/chartpart/axistickcalculator/NumberFormatter.java
rename to xchart/src/main/java/com/xeiam/xchart/internal/chartpart/NumberFormatter.java
index 7113bbb2b9dd264f9d9b56a205beb6a23faddd8a..0317dc0db0fb51ce77dc1c1da2dbe3ce3c419d0d 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/axistickcalculator/NumberFormatter.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/NumberFormatter.java
@@ -19,13 +19,13 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-package com.xeiam.xchart.internal.chartpart.axistickcalculator;
+package com.xeiam.xchart.internal.chartpart;
 
 import java.math.BigDecimal;
 import java.text.DecimalFormat;
 import java.text.NumberFormat;
 
-import com.xeiam.xchart.style.StyleManager;
+import com.xeiam.xchart.StyleManager;
 
 /**
  * @author timmolter
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Plot.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Plot.java
index 30fb3d86839fe806f56fa845b9acc8637f39f110..8fde77da5f07846972cb3eebcd7280cd5b6e421a 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Plot.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Plot.java
@@ -19,7 +19,7 @@ import java.awt.Graphics2D;
 import java.awt.Rectangle;
 
 import com.xeiam.xchart.Chart;
-import com.xeiam.xchart.style.StyleManager.ChartType;
+import com.xeiam.xchart.StyleManager.ChartType;
 
 /**
  * @author timmolter
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentLineChart.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentLineChart.java
index f8486f9ece83c33d67c2f6359d5726d0382fc4cd..c46ec745e8f43a85f36a37824acf1f648963ab5d 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentLineChart.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentLineChart.java
@@ -24,8 +24,8 @@ import java.util.Iterator;
 import java.util.Map;
 
 import com.xeiam.xchart.Series;
+import com.xeiam.xchart.StyleManager.ChartType;
 import com.xeiam.xchart.internal.chartpart.Axis.AxisType;
-import com.xeiam.xchart.style.StyleManager.ChartType;
 
 /**
  * @author timmolter
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotSurface.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotSurface.java
index 163c947ad58fa58b58c87bb9476ec741ff95b0f9..6a25cfa930c069b0ba2eb3c7c619f3e1ddc04bf0 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotSurface.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotSurface.java
@@ -21,7 +21,7 @@ import java.awt.Stroke;
 import java.util.List;
 
 import com.xeiam.xchart.Chart;
-import com.xeiam.xchart.style.StyleManager.ChartType;
+import com.xeiam.xchart.StyleManager.ChartType;
 
 /**
  * @author timmolter
diff --git a/xchart/src/main/java/com/xeiam/xchart/style/theme/GGPlot2Theme.java b/xchart/src/main/java/com/xeiam/xchart/internal/style/GGPlot2Theme.java
similarity index 97%
rename from xchart/src/main/java/com/xeiam/xchart/style/theme/GGPlot2Theme.java
rename to xchart/src/main/java/com/xeiam/xchart/internal/style/GGPlot2Theme.java
index 57e7318ffc054f2b530ecfd310b4240f009a10c9..59507e7299b2c9b71ed68c37cc5373a4278931d8 100644
--- a/xchart/src/main/java/com/xeiam/xchart/style/theme/GGPlot2Theme.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/style/GGPlot2Theme.java
@@ -19,15 +19,15 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-package com.xeiam.xchart.style.theme;
+package com.xeiam.xchart.internal.style;
 
 import java.awt.BasicStroke;
 import java.awt.Color;
 import java.awt.Font;
 import java.awt.Stroke;
 
-import com.xeiam.xchart.style.ChartColor;
-import com.xeiam.xchart.style.StyleManager.LegendPosition;
+import com.xeiam.xchart.ChartColor;
+import com.xeiam.xchart.StyleManager.LegendPosition;
 
 /**
  * @author timmolter
diff --git a/xchart/src/main/java/com/xeiam/xchart/style/SeriesColorMarkerLineStyle.java b/xchart/src/main/java/com/xeiam/xchart/internal/style/SeriesColorMarkerLineStyle.java
similarity index 97%
rename from xchart/src/main/java/com/xeiam/xchart/style/SeriesColorMarkerLineStyle.java
rename to xchart/src/main/java/com/xeiam/xchart/internal/style/SeriesColorMarkerLineStyle.java
index 1e4806e82e7f1956a026618badb4638d80aa2581..61e5979961f7e47428dd14071abb14d32d936705 100644
--- a/xchart/src/main/java/com/xeiam/xchart/style/SeriesColorMarkerLineStyle.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/style/SeriesColorMarkerLineStyle.java
@@ -19,7 +19,7 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-package com.xeiam.xchart.style;
+package com.xeiam.xchart.internal.style;
 
 import java.awt.BasicStroke;
 import java.awt.Color;
diff --git a/xchart/src/main/java/com/xeiam/xchart/style/SeriesColorMarkerLineStyleCycler.java b/xchart/src/main/java/com/xeiam/xchart/internal/style/SeriesColorMarkerLineStyleCycler.java
similarity index 95%
rename from xchart/src/main/java/com/xeiam/xchart/style/SeriesColorMarkerLineStyleCycler.java
rename to xchart/src/main/java/com/xeiam/xchart/internal/style/SeriesColorMarkerLineStyleCycler.java
index c962530264e3642be45fcdee158733b1443009f3..e736c5c2931dc9740507e370c647337a024110b7 100644
--- a/xchart/src/main/java/com/xeiam/xchart/style/SeriesColorMarkerLineStyleCycler.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/style/SeriesColorMarkerLineStyleCycler.java
@@ -19,12 +19,16 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-package com.xeiam.xchart.style;
+package com.xeiam.xchart.internal.style;
 
 import java.util.EnumSet;
 import java.util.HashMap;
 import java.util.Map;
 
+import com.xeiam.xchart.SeriesColor;
+import com.xeiam.xchart.SeriesLineStyle;
+import com.xeiam.xchart.SeriesMarker;
+
 /**
  * Cycles through the different colors, markers, and strokes in a predetermined way
  * <p>
diff --git a/xchart/src/main/java/com/xeiam/xchart/style/theme/Theme.java b/xchart/src/main/java/com/xeiam/xchart/internal/style/Theme.java
similarity index 96%
rename from xchart/src/main/java/com/xeiam/xchart/style/theme/Theme.java
rename to xchart/src/main/java/com/xeiam/xchart/internal/style/Theme.java
index 60e307e521d69ae05fd816e2333f42350899cbdb..85edec3e23a17f8f7ab555544ee04900bdb76358 100644
--- a/xchart/src/main/java/com/xeiam/xchart/style/theme/Theme.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/style/Theme.java
@@ -19,13 +19,13 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-package com.xeiam.xchart.style.theme;
+package com.xeiam.xchart.internal.style;
 
 import java.awt.Color;
 import java.awt.Font;
 import java.awt.Stroke;
 
-import com.xeiam.xchart.style.StyleManager.LegendPosition;
+import com.xeiam.xchart.StyleManager.LegendPosition;
 
 /**
  * @author timmolter
diff --git a/xchart/src/main/java/com/xeiam/xchart/style/theme/XChartTheme.java b/xchart/src/main/java/com/xeiam/xchart/internal/style/XChartTheme.java
similarity index 97%
rename from xchart/src/main/java/com/xeiam/xchart/style/theme/XChartTheme.java
rename to xchart/src/main/java/com/xeiam/xchart/internal/style/XChartTheme.java
index 6405bae5ea58fb2f98db1547b92521b097dd2cec..10a85a76edfbca0ef58296f90efee95f0037f200 100644
--- a/xchart/src/main/java/com/xeiam/xchart/style/theme/XChartTheme.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/style/XChartTheme.java
@@ -19,15 +19,15 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-package com.xeiam.xchart.style.theme;
+package com.xeiam.xchart.internal.style;
 
 import java.awt.BasicStroke;
 import java.awt.Color;
 import java.awt.Font;
 import java.awt.Stroke;
 
-import com.xeiam.xchart.style.ChartColor;
-import com.xeiam.xchart.style.StyleManager.LegendPosition;
+import com.xeiam.xchart.ChartColor;
+import com.xeiam.xchart.StyleManager.LegendPosition;
 
 /**
  * @author timmolter
diff --git a/xchart/src/test/java/com/xeiam/xchart/chart/Example2.java b/xchart/src/test/java/com/xeiam/xchart/chart/Example2.java
index 63a2e8ba6a0c34a5118e44e52e6598b27a99700a..c5eef837bc0e9e1d335ebd6fda2ebe4334252e5e 100644
--- a/xchart/src/test/java/com/xeiam/xchart/chart/Example2.java
+++ b/xchart/src/test/java/com/xeiam/xchart/chart/Example2.java
@@ -21,8 +21,8 @@ import java.util.List;
 import com.xeiam.xchart.Chart;
 import com.xeiam.xchart.ChartBuilder;
 import com.xeiam.xchart.Series;
+import com.xeiam.xchart.SeriesMarker;
 import com.xeiam.xchart.SwingWrapper;
-import com.xeiam.xchart.style.SeriesMarker;
 
 /**
  * Create a Chart matrix
diff --git a/xchart/src/test/java/com/xeiam/xchart/unit/DateAxisTickCalculatorTest.java b/xchart/src/test/java/com/xeiam/xchart/unit/DateAxisTickCalculatorTest.java
index ae5248622789a1a362b1acf370bf782bc1ef3c65..a5d646044cbd866335da15f94564ef1a5f33f11d 100644
--- a/xchart/src/test/java/com/xeiam/xchart/unit/DateAxisTickCalculatorTest.java
+++ b/xchart/src/test/java/com/xeiam/xchart/unit/DateAxisTickCalculatorTest.java
@@ -27,9 +27,9 @@ import java.util.List;
 
 import org.junit.Test;
 
+import com.xeiam.xchart.StyleManager;
+import com.xeiam.xchart.internal.chartpart.AxisTickDateCalculator;
 import com.xeiam.xchart.internal.chartpart.Axis.Direction;
-import com.xeiam.xchart.internal.chartpart.axistickcalculator.DateAxisTickCalculator;
-import com.xeiam.xchart.style.StyleManager;
 
 /**
  * @author timmolter
@@ -39,7 +39,7 @@ public class DateAxisTickCalculatorTest {
   @Test
   public void testDateOneMinuteTimespan() {
 
-    DateAxisTickCalculator decimalAxisTickCalculator = new DateAxisTickCalculator(Direction.X, 600, new BigDecimal(1361110661000L), new BigDecimal(1361110721000L), new StyleManager());
+    AxisTickDateCalculator decimalAxisTickCalculator = new AxisTickDateCalculator(Direction.X, 600, new BigDecimal(1361110661000L), new BigDecimal(1361110721000L), new StyleManager());
 
     List<String> tickLabels = decimalAxisTickCalculator.getTickLabels();
     System.out.println(Arrays.toString(tickLabels.toArray()));
diff --git a/xchart/src/test/java/com/xeiam/xchart/unit/DecimalAxisTickCalculatorTest.java b/xchart/src/test/java/com/xeiam/xchart/unit/DecimalAxisTickCalculatorTest.java
index e9e91b3851b7788afb3d95f70834cbd5379e8143..3b4f8e76899d683b0ee62ca5fca337a22fcf7ac0 100644
--- a/xchart/src/test/java/com/xeiam/xchart/unit/DecimalAxisTickCalculatorTest.java
+++ b/xchart/src/test/java/com/xeiam/xchart/unit/DecimalAxisTickCalculatorTest.java
@@ -30,9 +30,9 @@ import java.util.List;
 
 import org.junit.Test;
 
+import com.xeiam.xchart.StyleManager;
+import com.xeiam.xchart.internal.chartpart.AxisTickNumericalCalculator;
 import com.xeiam.xchart.internal.chartpart.Axis.Direction;
-import com.xeiam.xchart.internal.chartpart.axistickcalculator.NumberAxisTickCalculator;
-import com.xeiam.xchart.style.StyleManager;
 
 /**
  * @author timmolter
@@ -42,7 +42,7 @@ public class DecimalAxisTickCalculatorTest {
   @Test
   public void testDateOneMinuteTimespan() {
 
-    NumberAxisTickCalculator decimalAxisTickCalculator = new NumberAxisTickCalculator(Direction.X, 600, new BigDecimal(-15), new BigDecimal(15), new StyleManager());
+    AxisTickNumericalCalculator decimalAxisTickCalculator = new AxisTickNumericalCalculator(Direction.X, 600, new BigDecimal(-15), new BigDecimal(15), new StyleManager());
 
     List<String> tickLabels = decimalAxisTickCalculator.getTickLabels();
     System.out.println(Arrays.toString(tickLabels.toArray()));
diff --git a/xchart/src/test/java/com/xeiam/xchart/unit/ValueFormatterTest.java b/xchart/src/test/java/com/xeiam/xchart/unit/ValueFormatterTest.java
index 748406d1d4adc826f137f2862a2bad211c0d5634..3c319b4e9ed71b0e59e2e9ff8f8c0a331edea51c 100644
--- a/xchart/src/test/java/com/xeiam/xchart/unit/ValueFormatterTest.java
+++ b/xchart/src/test/java/com/xeiam/xchart/unit/ValueFormatterTest.java
@@ -29,8 +29,8 @@ import java.util.Locale;
 
 import org.junit.Test;
 
-import com.xeiam.xchart.internal.chartpart.axistickcalculator.NumberFormatter;
-import com.xeiam.xchart.style.StyleManager;
+import com.xeiam.xchart.StyleManager;
+import com.xeiam.xchart.internal.chartpart.NumberFormatter;
 
 /**
  * @author timmolter