diff --git a/TODO.txt b/TODO.txt
index 213ea76..d5f2e0d 100644
--- a/TODO.txt
+++ b/TODO.txt
@@ -5,7 +5,7 @@ deco			No		Copper pots
 deco			No		Copper plates
 deco			No		Lanterns
 deco			No		Light plates
-deco			No		Stone - Smooth + stairs + slabs
+deco			No		Stone - Stairs + slabs
 							Limestone
 							Slate
 							Basalt
@@ -45,7 +45,6 @@ materials		No		Metals
 							Silver
 materials		No		Liquids
 							Mercury
-materials		No		Missing bamboo plank textures												    BF
 materials		No		Make bamboo behave like bamboo												    BF
 materials		No		Olivine
 -------------------------------------------------------------------------------------------------------
diff --git a/graphics/smooth-stones.xcf b/graphics/smooth-stones.xcf
new file mode 100644
index 0000000..4cc0e5f
Binary files /dev/null and b/graphics/smooth-stones.xcf differ
diff --git a/src/java/mmm/MmmDeco.java b/src/java/mmm/MmmDeco.java
index f283423..9c0e3ff 100644
--- a/src/java/mmm/MmmDeco.java
+++ b/src/java/mmm/MmmDeco.java
@@ -3,6 +3,7 @@ package mmm;
 
 import mmm.deco.DChairs;
 import mmm.deco.DSeatEntity;
+import mmm.deco.DSmoothStone;
 import mmm.deco.DStairs;
 import mmm.deco.DTables;
 import mmm.deco.doors.DDoors;
@@ -15,6 +16,7 @@ import net.minecraftforge.fml.common.registry.EntityRegistry;
 
 public class MmmDeco
 {
+	public static final DSmoothStone STONE;
 	public static final DStairs STAIRS;
 	public static final DSlabs SLAB;
 	public static final DFences FENCE;
@@ -24,6 +26,7 @@ public class MmmDeco
 	public static final DThrones THRONE;
 
 	static {
+		STONE = new DSmoothStone( );
 		STAIRS = new DStairs( );
 		SLAB = new DSlabs( );
 		FENCE = new DFences( );
diff --git a/src/java/mmm/deco/DSmoothStone.java b/src/java/mmm/deco/DSmoothStone.java
new file mode 100644
index 0000000..ad4956f
--- /dev/null
+++ b/src/java/mmm/deco/DSmoothStone.java
@@ -0,0 +1,70 @@
+package mmm.deco;
+
+
+import com.google.common.base.Throwables;
+
+import mmm.MmmMaterials;
+import mmm.core.CAccessors;
+import mmm.core.CRegistry;
+import mmm.core.api.I_RecipeRegistrar;
+import mmm.materials.MRock;
+import net.minecraft.block.Block;
+import net.minecraft.block.SoundType;
+import net.minecraft.block.material.Material;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fml.common.registry.GameRegistry;
+
+
+
+public class DSmoothStone
+{
+
+	public static class SmoothStoneBlock
+			extends Block
+			implements I_RecipeRegistrar
+	{
+
+		public final MRock rock;
+
+
+		public SmoothStoneBlock( final MRock rock )
+		{
+			super( Material.ROCK );
+			this.rock = rock;
+			this.setCreativeTab( CreativeTabs.BUILDING_BLOCKS );
+			try {
+				this.setHardness( CAccessors.getBlockHardness( rock ) );
+				this.setResistance( CAccessors.getBlockResistance( rock ) );
+			} catch ( final Throwable t ) {
+				throw Throwables.propagate( t );
+			}
+			this.setSoundType( SoundType.STONE );
+			this.setHarvestLevel( "pickaxe" , rock.rockHarvestLevel );
+			CRegistry.setIdentifiers( this , "deco" , "smoothstone" , rock.name );
+		}
+
+
+		@Override
+		public void registerRecipes( )
+		{
+			GameRegistry.addShapedRecipe( new ItemStack( this , 4 ) , //
+					"RR" , //
+					"RR" , //
+					'R' , this.rock );
+		}
+
+	}
+
+	public final SmoothStoneBlock LIMESTONE;
+	public final SmoothStoneBlock SLATE;
+	public final SmoothStoneBlock BASALT;
+
+
+	public DSmoothStone( )
+	{
+		CRegistry.addBlock( this.LIMESTONE = new SmoothStoneBlock( MmmMaterials.ROCK.LIMESTONE ) );
+		CRegistry.addBlock( this.SLATE = new SmoothStoneBlock( MmmMaterials.ROCK.SLATE ) );
+		CRegistry.addBlock( this.BASALT = new SmoothStoneBlock( MmmMaterials.ROCK.BASALT ) );
+	}
+}
diff --git a/src/java/mmm/materials/MRock.java b/src/java/mmm/materials/MRock.java
index fac6b8f..a5cef0b 100644
--- a/src/java/mmm/materials/MRock.java
+++ b/src/java/mmm/materials/MRock.java
@@ -15,6 +15,10 @@ public class MRock
 		implements I_MRock
 {
 
+	public final int rockHarvestLevel;
+	public final String name;
+
+
 	public MRock( final String name , final MapColor mapColor )
 	{
 		this( name , mapColor , 0 , 1.5f , 10f );
@@ -31,11 +35,15 @@ public class MRock
 			final float resistance )
 	{
 		super( Material.ROCK , mapColor );
+		this.rockHarvestLevel = harvestLevel;
+		this.name = name;
+
 		this.setCreativeTab( CreativeTabs.BUILDING_BLOCKS );
 		this.setHardness( hardness );
 		this.setResistance( resistance );
 		this.setSoundType( SoundType.STONE );
 		this.setHarvestLevel( "pickaxe" , harvestLevel );
+
 		CRegistry.setIdentifiers( this , "materials" , "rock" , name );
 		CRegistry.addBlock( this );
 	}
diff --git a/src/resources/assets/mmm/blockstates/deco/smoothstone/basalt.json b/src/resources/assets/mmm/blockstates/deco/smoothstone/basalt.json
new file mode 100644
index 0000000..91790ef
--- /dev/null
+++ b/src/resources/assets/mmm/blockstates/deco/smoothstone/basalt.json
@@ -0,0 +1,5 @@
+{
+    "variants": {
+        "normal": { "model": "mmm:deco/smoothstone/basalt" }
+    }
+}
diff --git a/src/resources/assets/mmm/blockstates/deco/smoothstone/limestone.json b/src/resources/assets/mmm/blockstates/deco/smoothstone/limestone.json
new file mode 100644
index 0000000..e61a920
--- /dev/null
+++ b/src/resources/assets/mmm/blockstates/deco/smoothstone/limestone.json
@@ -0,0 +1,5 @@
+{
+    "variants": {
+        "normal": { "model": "mmm:deco/smoothstone/limestone" }
+    }
+}
diff --git a/src/resources/assets/mmm/blockstates/deco/smoothstone/slate.json b/src/resources/assets/mmm/blockstates/deco/smoothstone/slate.json
new file mode 100644
index 0000000..8864918
--- /dev/null
+++ b/src/resources/assets/mmm/blockstates/deco/smoothstone/slate.json
@@ -0,0 +1,5 @@
+{
+    "variants": {
+        "normal": { "model": "mmm:deco/smoothstone/slate" }
+    }
+}
diff --git a/src/resources/assets/mmm/lang/en_US.lang b/src/resources/assets/mmm/lang/en_US.lang
index 52bd4b7..7655d26 100644
--- a/src/resources/assets/mmm/lang/en_US.lang
+++ b/src/resources/assets/mmm/lang/en_US.lang
@@ -133,6 +133,10 @@ item.mmm.food.milk.horse.name=Horse milk
 item.mmm.food.milk.donkey.name=Donkey milk
 
 
+tile.mmm.deco.smoothstone.limestone.name=Polished Limestone
+tile.mmm.deco.smoothstone.basalt.name=Polished Basalt
+tile.mmm.deco.smoothstone.slate.name=Polished Slate
+
 tile.mmm.deco.stairs.granite.name=Granite Stairs
 tile.mmm.deco.stairs.diorite.name=Diorite Stairs
 tile.mmm.deco.stairs.andesite.name=Andesite Stairs
diff --git a/src/resources/assets/mmm/models/block/deco/smoothstone/basalt.json b/src/resources/assets/mmm/models/block/deco/smoothstone/basalt.json
new file mode 100644
index 0000000..b085d64
--- /dev/null
+++ b/src/resources/assets/mmm/models/block/deco/smoothstone/basalt.json
@@ -0,0 +1,6 @@
+{
+    "parent": "minecraft:block/cube_all",
+    "textures": {
+        "all": "mmm:blocks/deco/smoothstone/basalt"
+    }
+}
\ No newline at end of file
diff --git a/src/resources/assets/mmm/models/block/deco/smoothstone/limestone.json b/src/resources/assets/mmm/models/block/deco/smoothstone/limestone.json
new file mode 100644
index 0000000..e7b2829
--- /dev/null
+++ b/src/resources/assets/mmm/models/block/deco/smoothstone/limestone.json
@@ -0,0 +1,6 @@
+{
+    "parent": "minecraft:block/cube_all",
+    "textures": {
+        "all": "mmm:blocks/deco/smoothstone/limestone"
+    }
+}
\ No newline at end of file
diff --git a/src/resources/assets/mmm/models/block/deco/smoothstone/slate.json b/src/resources/assets/mmm/models/block/deco/smoothstone/slate.json
new file mode 100644
index 0000000..eea1ad0
--- /dev/null
+++ b/src/resources/assets/mmm/models/block/deco/smoothstone/slate.json
@@ -0,0 +1,6 @@
+{
+    "parent": "minecraft:block/cube_all",
+    "textures": {
+        "all": "mmm:blocks/deco/smoothstone/slate"
+    }
+}
\ No newline at end of file
diff --git a/src/resources/assets/mmm/models/item/deco/smoothstone/basalt.json b/src/resources/assets/mmm/models/item/deco/smoothstone/basalt.json
new file mode 100644
index 0000000..78cacd8
--- /dev/null
+++ b/src/resources/assets/mmm/models/item/deco/smoothstone/basalt.json
@@ -0,0 +1,3 @@
+{
+    "parent": "mmm:block/deco/smoothstone/basalt"
+}
\ No newline at end of file
diff --git a/src/resources/assets/mmm/models/item/deco/smoothstone/limestone.json b/src/resources/assets/mmm/models/item/deco/smoothstone/limestone.json
new file mode 100644
index 0000000..78ce9f8
--- /dev/null
+++ b/src/resources/assets/mmm/models/item/deco/smoothstone/limestone.json
@@ -0,0 +1,3 @@
+{
+    "parent": "mmm:block/deco/smoothstone/limestone"
+}
\ No newline at end of file
diff --git a/src/resources/assets/mmm/models/item/deco/smoothstone/slate.json b/src/resources/assets/mmm/models/item/deco/smoothstone/slate.json
new file mode 100644
index 0000000..c22e084
--- /dev/null
+++ b/src/resources/assets/mmm/models/item/deco/smoothstone/slate.json
@@ -0,0 +1,3 @@
+{
+    "parent": "mmm:block/deco/smoothstone/slate"
+}
\ No newline at end of file
diff --git a/src/resources/assets/mmm/textures/blocks/deco/smoothstone/basalt.png b/src/resources/assets/mmm/textures/blocks/deco/smoothstone/basalt.png
new file mode 100644
index 0000000..4b175ba
Binary files /dev/null and b/src/resources/assets/mmm/textures/blocks/deco/smoothstone/basalt.png differ
diff --git a/src/resources/assets/mmm/textures/blocks/deco/smoothstone/limestone.png b/src/resources/assets/mmm/textures/blocks/deco/smoothstone/limestone.png
new file mode 100644
index 0000000..d5ffc7d
Binary files /dev/null and b/src/resources/assets/mmm/textures/blocks/deco/smoothstone/limestone.png differ
diff --git a/src/resources/assets/mmm/textures/blocks/deco/smoothstone/slate.png b/src/resources/assets/mmm/textures/blocks/deco/smoothstone/slate.png
new file mode 100644
index 0000000..dce8065
Binary files /dev/null and b/src/resources/assets/mmm/textures/blocks/deco/smoothstone/slate.png differ