From 443ea87ec722e1c09f581cfa816339d38772f1a2 Mon Sep 17 00:00:00 2001
From: Tim Molter <tim.molter@gmail.com>
Date: Mon, 4 Mar 2013 16:56:49 +0100
Subject: [PATCH] package rearrange

---
 .../xchart/demo/charts/area/AreaChart01.java  |  4 +--
 .../xchart/demo/charts/bar/BarChart01.java    |  4 +--
 .../xchart/demo/charts/bar/BarChart02.java    |  2 +-
 .../xchart/demo/charts/bar/BarChart03.java    |  2 +-
 .../xchart/demo/charts/bar/BarChart04.java    |  2 +-
 .../xchart/demo/charts/bar/BarChart05.java    |  6 ++--
 .../xchart/demo/charts/date/DateChart01.java  |  2 +-
 .../xchart/demo/charts/line/LineChart01.java  |  4 +--
 .../xchart/demo/charts/line/LineChart02.java  |  6 ++--
 .../xchart/demo/charts/line/LineChart03.java  | 10 +++---
 .../xchart/demo/charts/line/LineChart04.java  |  6 ++--
 .../demo/charts/scatter/ScatterChart01.java   |  4 +--
 .../demo/charts/scatter/ScatterChart02.java   |  4 +--
 .../demo/charts/scatter/ScatterChart04.java   |  4 +--
 .../demo/charts/theme/ThemeChart02.java       |  4 +--
 .../src/main/java/com/xeiam/xchart/Chart.java |  5 ++-
 .../java/com/xeiam/xchart/ChartBuilder.java   | 11 +++----
 .../xeiam/xchart/{style => }/ChartColor.java  |  2 +-
 .../java/com/xeiam/xchart/QuickChart.java     |  1 -
 .../main/java/com/xeiam/xchart/Series.java    |  5 +--
 .../xeiam/xchart/{style => }/SeriesColor.java |  2 +-
 .../xchart/{style => }/SeriesLineStyle.java   |  2 +-
 .../xchart/{style => }/SeriesMarker.java      |  2 +-
 .../xchart/{style => }/StyleManager.java      | 31 +++++++++++++++++--
 .../xeiam/xchart/internal/chartpart/Axis.java |  2 +-
 .../xchart/internal/chartpart/AxisPair.java   |  2 +-
 .../xchart/internal/chartpart/AxisTick.java   | 17 ++++------
 ...r.java => AxisTickBarChartCalculator.java} |  7 ++---
 .../AxisTickCalculator.java                   |  6 ++--
 ...lator.java => AxisTickDateCalculator.java} |  9 +++---
 ...ava => AxisTickLogarithmicCalculator.java} |  9 +++---
 ....java => AxisTickNumericalCalculator.java} |  9 +++---
 .../DateFormatter.java                        |  4 +--
 .../xchart/internal/chartpart/Legend.java     |  2 +-
 .../NumberFormatter.java                      |  4 +--
 .../xeiam/xchart/internal/chartpart/Plot.java |  2 +-
 .../chartpart/PlotContentLineChart.java       |  2 +-
 .../internal/chartpart/PlotSurface.java       |  2 +-
 .../style}/GGPlot2Theme.java                  |  6 ++--
 .../style/SeriesColorMarkerLineStyle.java     |  2 +-
 .../SeriesColorMarkerLineStyleCycler.java     |  6 +++-
 .../theme => internal/style}/Theme.java       |  4 +--
 .../theme => internal/style}/XChartTheme.java |  6 ++--
 .../java/com/xeiam/xchart/chart/Example2.java |  2 +-
 .../unit/DateAxisTickCalculatorTest.java      |  6 ++--
 .../unit/DecimalAxisTickCalculatorTest.java   |  6 ++--
 .../xeiam/xchart/unit/ValueFormatterTest.java |  4 +--
 47 files changed, 129 insertions(+), 115 deletions(-)
 rename xchart/src/main/java/com/xeiam/xchart/{style => }/ChartColor.java (97%)
 rename xchart/src/main/java/com/xeiam/xchart/{style => }/SeriesColor.java (98%)
 rename xchart/src/main/java/com/xeiam/xchart/{style => }/SeriesLineStyle.java (98%)
 rename xchart/src/main/java/com/xeiam/xchart/{style => }/SeriesMarker.java (98%)
 rename xchart/src/main/java/com/xeiam/xchart/{style => }/StyleManager.java (97%)
 rename xchart/src/main/java/com/xeiam/xchart/internal/chartpart/{axistickcalculator/BarChartAxisTickCalculator.java => AxisTickBarChartCalculator.java} (95%)
 rename xchart/src/main/java/com/xeiam/xchart/internal/chartpart/{axistickcalculator => }/AxisTickCalculator.java (96%)
 rename xchart/src/main/java/com/xeiam/xchart/internal/chartpart/{axistickcalculator/DateAxisTickCalculator.java => AxisTickDateCalculator.java} (92%)
 rename xchart/src/main/java/com/xeiam/xchart/internal/chartpart/{axistickcalculator/LogarithmicAxisTickCalculator.java => AxisTickLogarithmicCalculator.java} (92%)
 rename xchart/src/main/java/com/xeiam/xchart/internal/chartpart/{axistickcalculator/NumberAxisTickCalculator.java => AxisTickNumericalCalculator.java} (92%)
 rename xchart/src/main/java/com/xeiam/xchart/internal/chartpart/{axistickcalculator => }/DateFormatter.java (97%)
 rename xchart/src/main/java/com/xeiam/xchart/internal/chartpart/{axistickcalculator => }/NumberFormatter.java (95%)
 rename xchart/src/main/java/com/xeiam/xchart/{style/theme => internal/style}/GGPlot2Theme.java (97%)
 rename xchart/src/main/java/com/xeiam/xchart/{ => internal}/style/SeriesColorMarkerLineStyle.java (97%)
 rename xchart/src/main/java/com/xeiam/xchart/{ => internal}/style/SeriesColorMarkerLineStyleCycler.java (95%)
 rename xchart/src/main/java/com/xeiam/xchart/{style/theme => internal/style}/Theme.java (96%)
 rename xchart/src/main/java/com/xeiam/xchart/{style/theme => internal/style}/XChartTheme.java (97%)

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 6f6db67d..854cc558 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 ec119137..076fbdf9 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 51325c89..6dff89a8 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 6f49563d..e24bfc7e 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 181c2fd1..6040e454 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 689c341a..45dc5ad1 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 ce2a9aee..3b393a30 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 2c5d98be..adf3d786 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 141710ef..8b294422 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 a514c0fe..4c45430f 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 3e9d8f45..2f345c29 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 2240c62b..b40e0d5c 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 1dd23506..8923dd2a 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 d085db1f..118746b2 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 4c508dd7..b9505f9f 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 db6b70eb..8edcd3f3 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 bb01df2d..887069b2 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 bce06330..7cbd595e 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 7450bc0c..659126eb 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 771789ce..2e0a55ca 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 d32d63b0..b4dcf188 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 1642ff21..7573a645 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 8ffa8d25..04db9f00 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 54c1fc17..51eef94d 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 2d7b4e3b..7375ad5c 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 8f78703a..bc69d438 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 385db6db..dd212559 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 4e257ae8..d3c3aca9 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 4305f2e4..4b19ff49 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 77c253de..5461de0d 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 0345a559..ba057deb 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 ed398a30..50c74419 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 6f03f330..ad9f220c 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 1770cea6..4a35168b 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 7113bbb2..0317dc0d 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 30fb3d86..8fde77da 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 f8486f9e..c46ec745 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 163c947a..6a25cfa9 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 57e7318f..59507e72 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 1e4806e8..61e59799 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 c9625302..e736c5c2 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 60e307e5..85edec3e 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 6405bae5..10a85a76 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 63a2e8ba..c5eef837 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 ae524862..a5d64604 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 e9e91b38..3b4f8e76 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 748406d1..3c319b4e 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
-- 
GitLab