no need for core LayerRenderer
diff --git a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/LayerRenderer.xtend b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/LayerRenderer.xtend
deleted file mode 100644
index ee67521..0000000
--- a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/LayerRenderer.xtend
+++ /dev/null
@@ -1,9 +0,0 @@
-package org.eclipse.nebula.widgets.nattable.core.layer
-
-import org.eclipse.nebula.widgets.nattable.core.layer.Layer
-
-interface LayerRenderer {
-	
-	def void renderLayer(Layer layer)
-	
-}
\ No newline at end of file
diff --git a/NatTable/src/org/eclipse/nebula/widgets/nattable/renderer/javafx/DefaultLayerRenderer.xtend b/NatTable/src/org/eclipse/nebula/widgets/nattable/renderer/javafx/DefaultLayerRenderer.xtend
index edc8693..1002560 100644
--- a/NatTable/src/org/eclipse/nebula/widgets/nattable/renderer/javafx/DefaultLayerRenderer.xtend
+++ b/NatTable/src/org/eclipse/nebula/widgets/nattable/renderer/javafx/DefaultLayerRenderer.xtend
@@ -6,6 +6,8 @@
 import org.eclipse.nebula.widgets.nattable.core.layer.Layer
 
 import static extension org.eclipse.nebula.widgets.nattable.core.layer.LayerInvariants.*
+import javafx.scene.text.Font
+import com.sun.javafx.tk.Toolkit
 
 class DefaultLayerRenderer implements JavaFXLayerRenderer {
 	
@@ -18,6 +20,11 @@
     		for (rowPosition : 0 .. layer.rowCount) {
     			val cellPixelBounds = layer.getCellPixelBounds(columnPosition, rowPosition)
     			gc.strokeRect(cellPixelBounds.x, cellPixelBounds.y, cellPixelBounds.pixelWidth, cellPixelBounds.pixelHeight)
+    			
+//    			gc.font = new Font()
+//    			val fontMetrics = Toolkit::toolkit.fontLoader.getFontMetrics(gc.font)
+//    			fontMetrics.computeStringWidth("")
+				
 				gc.strokeText(
 					layer.getCellDataValue(columnPosition, rowPosition).toString,
 					cellPixelBounds.x + (cellPixelBounds.pixelWidth/2),
diff --git a/NatTable/src/org/eclipse/nebula/widgets/nattable/renderer/javafx/JavaFXNatLayerRenderer.xtend b/NatTable/src/org/eclipse/nebula/widgets/nattable/renderer/javafx/JavaFXNatTable.xtend
similarity index 64%
rename from NatTable/src/org/eclipse/nebula/widgets/nattable/renderer/javafx/JavaFXNatLayerRenderer.xtend
rename to NatTable/src/org/eclipse/nebula/widgets/nattable/renderer/javafx/JavaFXNatTable.xtend
index a49debf..fa4e856 100644
--- a/NatTable/src/org/eclipse/nebula/widgets/nattable/renderer/javafx/JavaFXNatLayerRenderer.xtend
+++ b/NatTable/src/org/eclipse/nebula/widgets/nattable/renderer/javafx/JavaFXNatTable.xtend
@@ -1,25 +1,33 @@
 package org.eclipse.nebula.widgets.nattable.renderer.javafx
 
 import java.util.HashMap
+import javafx.beans.value.ObservableValue
 import javafx.scene.canvas.Canvas
 import org.eclipse.nebula.widgets.nattable.core.layer.Layer
-import org.eclipse.nebula.widgets.nattable.core.layer.LayerRenderer
 
-class JavaFXNatLayerRenderer extends Canvas implements LayerRenderer {
+class JavaFXNatTable extends Canvas {
 	
 	val static defaultLayerRenderer = new DefaultLayerRenderer
 	
+	val Layer layer
 	val layerRenderers = new HashMap<String, JavaFXLayerRenderer>
 	
-	new(int width, int height) {
+	new(Layer layer, int width, int height) {
 		super(width, height)
+		this.layer = layer
+		
+		renderLayer
+		
+        boundsInLocalProperty.addListener([ ObservableValue<?> observable, Object oldValue, Object newValue |
+        	renderLayer
+        ])
 	}
 	
-	override renderLayer(Layer layer) {
+	private def renderLayer() {
 		layer.layerRenderer.renderLayer(graphicsContext2D, boundsInLocal, layer)
 	}
 	
-	def JavaFXLayerRenderer getLayerRenderer(Layer layer) {
+	private def JavaFXLayerRenderer getLayerRenderer(Layer layer) {
 		var layerRenderer = layerRenderers.get(layer.class.canonicalName)
 		
 		if (layerRenderer === null) {
diff --git a/NatTable/test/org/eclipse/nebula/widgets/nattable/renderer/javafx/HelloWorld.xtend b/NatTable/test/org/eclipse/nebula/widgets/nattable/renderer/javafx/HelloWorld.xtend
index 1bba65a..db3d38f 100644
--- a/NatTable/test/org/eclipse/nebula/widgets/nattable/renderer/javafx/HelloWorld.xtend
+++ b/NatTable/test/org/eclipse/nebula/widgets/nattable/renderer/javafx/HelloWorld.xtend
@@ -6,7 +6,6 @@
 import javafx.stage.Stage
 import org.eclipse.nebula.widgets.nattable.core.layer.DummyLayer
 import org.eclipse.nebula.widgets.nattable.core.layer.Layer
-import javafx.beans.value.ObservableValue
 
 class HelloWorld extends Application {
 	
@@ -18,8 +17,7 @@
         primaryStage.title = "NatTable -> JavaFX"
         val root = new Pane
         
-        val layerRenderer = new JavaFXNatLayerRenderer(300, 250)
-        layerRenderer.renderLayer(layer)
+        val layerRenderer = new JavaFXNatTable(layer, 300, 250)
         
         root.children += layerRenderer
 
@@ -28,9 +26,6 @@
         
         layerRenderer.widthProperty.bind(root.widthProperty)
         layerRenderer.heightProperty.bind(root.heightProperty)
-        layerRenderer.boundsInLocalProperty.addListener([ ObservableValue<?> observable, Object oldValue, Object newValue |
-        	layerRenderer.renderLayer(layer)
-        ])
     }
     
     def Layer getLayer() {