diff --git a/src/main/java/ui/TGScalableComponent.java b/src/main/java/ui/TGScalableComponent.java
index 000a37b8fd04ef98c42066799e39f29fe9016596..c8841123c4dc85a2fcb35f8fecb8836470c6d032 100644
--- a/src/main/java/ui/TGScalableComponent.java
+++ b/src/main/java/ui/TGScalableComponent.java
@@ -20,6 +20,8 @@ public abstract class TGScalableComponent extends TGComponent implements Scalabl
 	protected int arc = 5;
 	protected double darc;
 
+	protected int lineLength = 5;
+
 	public TGScalableComponent(int _x, int _y, int _minX, int _maxX, int _minY, int _maxY, boolean _pos,
 			TGComponent _father, TDiagramPanel _tdp) {
 		super(_x, _y, _minX, _maxX, _minY, _maxY, _pos, _father, _tdp);
@@ -45,6 +47,14 @@ public abstract class TGScalableComponent extends TGComponent implements Scalabl
     	displayText = true;
 	}
 
+	protected void initSize( 	final int width,
+								final int height ) {
+		this.width = width;
+		this.height = height;
+		
+		initScaling( width, height );
+	}
+
     protected void initScaling(int w, int h) {
         oldScaleFactor = tdp.getZoom();
 
diff --git a/src/main/java/ui/ad/TADActionState.java b/src/main/java/ui/ad/TADActionState.java
index 2150082f816e12f236006662913d845c18bc7b5e..5a70a7780f8b00784ceb0141a56c1dae1cb1c2b6 100755
--- a/src/main/java/ui/ad/TADActionState.java
+++ b/src/main/java/ui/ad/TADActionState.java
@@ -66,12 +66,14 @@ public class TADActionState extends TADOneLineText/* Issue #69 TGCOneLineText*/
     public TADActionState(int _x, int _y, int _minX, int _maxX, int _minY, int _maxY, boolean _pos, TGComponent _father, TDiagramPanel _tdp)  {
         super(_x, _y, _minX, _maxX, _minY, _maxY, _pos, _father, _tdp);
         
-        width = 30;
-        height = 20;
+//        width = 30;
+//        height = 20;
+        
         minWidth = 30;
         
         // Issue #31
         textX = 5;
+        initSize( 30, 20 );
         
         createConnectingPoints();
 //        nbConnectingPoint = 2;
diff --git a/src/main/java/ui/ad/TADChoice.java b/src/main/java/ui/ad/TADChoice.java
index 6764e6f8a8bdc36e466fb6ae7f2a078d53a37a36..1ba6382211fb7d916ef01e74bef166ef5055fd47 100755
--- a/src/main/java/ui/ad/TADChoice.java
+++ b/src/main/java/ui/ad/TADChoice.java
@@ -74,10 +74,11 @@ public class TADChoice extends TADComponentWithSubcomponents/* Issue #69  TGCWit
     public TADChoice(int _x, int _y, int _minX, int _maxX, int _minY, int _maxY, boolean _pos, TGComponent _father, TDiagramPanel _tdp)  {
         super(_x, _y, _minX, _maxX, _minY, _maxY, _pos, _father, _tdp);
         
-        width = 30;
-        height = 30;
-        
         // Issue #31
+//        width = 30;
+//        height = 30;
+        initSize( 30, 30 );
+        
         dtextX1 = -lineOutLength;
         dtextY1 = height/2 - 5;
         dtextX2 = width + 5;
diff --git a/src/main/java/ui/ad/TADStartState.java b/src/main/java/ui/ad/TADStartState.java
index b4d21f778eae2d336594cca6ffb956005f9f68dc..34bd24858e2474245ed3a8d987fd840046d9a4de 100755
--- a/src/main/java/ui/ad/TADStartState.java
+++ b/src/main/java/ui/ad/TADStartState.java
@@ -59,8 +59,10 @@ public class TADStartState extends TADComponentWithoutSubcomponents/* Issue #69
 	public TADStartState(int _x, int _y, int _minX, int _maxX, int _minY, int _maxY, boolean _pos, TGComponent _father, TDiagramPanel _tdp)  {
 		super(_x, _y, _minX, _maxX, _minY, _maxY, _pos, _father, _tdp);
 		
-		width = 15;
-		height = 15;
+//		width = 15;
+//		height = 15;
+    	
+    	initSize( 15, 15 );
 
 		createConnectingPoints();
 //		nbConnectingPoint = 1;
@@ -86,8 +88,10 @@ public class TADStartState extends TADComponentWithoutSubcomponents/* Issue #69
 
     @Override
 	public void internalDrawing(Graphics g) {
-		g.fillOval(x, y, width, height);
-		g.drawLine(x+(width/2), y+height, x+(width/2), y + lineLength + height);
+    	final int radius = width / 2;
+
+    	g.fillOval(x, y, radius * 2, radius * 2 );//width, height);
+		g.drawLine(x+(width/2), y+height, x+(width/2), (int) (y + lineLength * oldScaleFactor + height));
 	}
 
     @Override
diff --git a/src/main/java/ui/tmlad/TMLADDecrypt.java b/src/main/java/ui/tmlad/TMLADDecrypt.java
index 09c37ac7b23a6c6bd2dd073b906f32bce059de58..988dd0a9bd9c4841735243945c9623d8a86a8b55 100755
--- a/src/main/java/ui/tmlad/TMLADDecrypt.java
+++ b/src/main/java/ui/tmlad/TMLADDecrypt.java
@@ -73,10 +73,12 @@ public class TMLADDecrypt extends TADComponentWithoutSubcomponents/* Issue #69 T
     public TMLADDecrypt(int _x, int _y, int _minX, int _maxX, int _minY, int _maxY, boolean _pos, TGComponent _father, TDiagramPanel _tdp) {
         super(_x, _y, _minX, _maxX, _minY, _maxY, _pos, _father, _tdp);
 
-        width = 15;
-        height = 35;
+        // Issue #31
+//        width = 15;
+//        height = 35;
 //        textX = width + 5;
 //        textY = height/2 + 5;
+        initSize( 15, 35 );
 
         nbConnectingPoint = 2;
         connectingPoint = new TGConnectingPoint[2];
diff --git a/src/main/java/ui/tmlad/TMLADDelay.java b/src/main/java/ui/tmlad/TMLADDelay.java
index 30b948bc282ba2026d27be3e0bac118d15a78b6e..76ec96a2538c6c90bd7855fb9187701a2cc15771 100755
--- a/src/main/java/ui/tmlad/TMLADDelay.java
+++ b/src/main/java/ui/tmlad/TMLADDelay.java
@@ -65,9 +65,12 @@ public class TMLADDelay extends TADComponentWithSubcomponents /* Issue #69 TGCWi
     
     public TMLADDelay(int _x, int _y, int _minX, int _maxX, int _minY, int _maxY, boolean _pos, TGComponent _father, TDiagramPanel _tdp)  {
         super(_x, _y, _minX, _maxX, _minY, _maxY, _pos, _father, _tdp);
-        
-        width = 10;
-        height = 30;
+
+        // Issue #31
+//        width = 10;
+//        height = 30;
+        initSize( 10, 30 );
+
         textX = width + 5;
         textY = height/2 + 5;
         
diff --git a/src/main/java/ui/tmlad/TMLADDelayInterval.java b/src/main/java/ui/tmlad/TMLADDelayInterval.java
index 4ac73a9260bc325013bf29dda5c7e4bba832f46f..9fc1a281c4ba29315baf2c0cba8cbca7607775ce 100755
--- a/src/main/java/ui/tmlad/TMLADDelayInterval.java
+++ b/src/main/java/ui/tmlad/TMLADDelayInterval.java
@@ -67,9 +67,12 @@ public class TMLADDelayInterval extends TADComponentWithSubcomponents /* Issue #
     
     public TMLADDelayInterval(int _x, int _y, int _minX, int _maxX, int _minY, int _maxY, boolean _pos, TGComponent _father, TDiagramPanel _tdp)  {
         super(_x, _y, _minX, _maxX, _minY, _maxY, _pos, _father, _tdp);
-        
-        width = 10;
-        height = 30;
+       
+        // Issue #31
+//        width = 10;
+//        height = 30;
+        initSize( 10, 30 );
+
         textX = width + 5;
         textY = height/2 + 5;
         
diff --git a/src/main/java/ui/tmlad/TMLADEncrypt.java b/src/main/java/ui/tmlad/TMLADEncrypt.java
index 8cd5c2e85b2e53880ef94ba59eac1b8b96af9be5..16749da070bc3dd0a6c39eb70789d10a4eea77d8 100755
--- a/src/main/java/ui/tmlad/TMLADEncrypt.java
+++ b/src/main/java/ui/tmlad/TMLADEncrypt.java
@@ -85,10 +85,12 @@ public class TMLADEncrypt extends TADComponentWithoutSubcomponents/* Issue #69 T
     public TMLADEncrypt(int _x, int _y, int _minX, int _maxX, int _minY, int _maxY, boolean _pos, TGComponent _father, TDiagramPanel _tdp) {
         super(_x, _y, _minX, _maxX, _minY, _maxY, _pos, _father, _tdp);
 
+        // Issue #31
         width = 15;
         height = 35;
         //    textX = width + 5;
 //        textY = height/2 + 5;
+        initSize( 15, 35 );
 
         nbConnectingPoint = 2;
         connectingPoint = new TGConnectingPoint[2];
diff --git a/src/main/java/ui/tmlad/TMLADExecC.java b/src/main/java/ui/tmlad/TMLADExecC.java
index dc3741854bccb07ac0772720f3cc70acd63a0f83..effa20ed18c9acd78dea8bdb6f09480c35f85808 100755
--- a/src/main/java/ui/tmlad/TMLADExecC.java
+++ b/src/main/java/ui/tmlad/TMLADExecC.java
@@ -65,9 +65,12 @@ public class TMLADExecC extends TADComponentWithSubcomponents /* Issue #69 TGCWi
     
     public TMLADExecC(int _x, int _y, int _minX, int _maxX, int _minY, int _maxY, boolean _pos, TGComponent _father, TDiagramPanel _tdp)  {
         super(_x, _y, _minX, _maxX, _minY, _maxY, _pos, _father, _tdp);
-        
-        width = 10;
-        height = 30;
+       
+        // Issue #31
+//        width = 10;
+//        height = 30;
+        initSize( 10, 30 );
+
         textX = width + 5;
         textY = height/2 + 5;
         
diff --git a/src/main/java/ui/tmlad/TMLADExecCInterval.java b/src/main/java/ui/tmlad/TMLADExecCInterval.java
index 03c2ab991309e1b35b0f0d21bd55ff178b5ece2a..eb532153a7db0f72673f7a91bb8412b91084a00d 100755
--- a/src/main/java/ui/tmlad/TMLADExecCInterval.java
+++ b/src/main/java/ui/tmlad/TMLADExecCInterval.java
@@ -66,8 +66,11 @@ public class TMLADExecCInterval extends TADComponentWithSubcomponents /* Issue #
     public TMLADExecCInterval(int _x, int _y, int _minX, int _maxX, int _minY, int _maxY, boolean _pos, TGComponent _father, TDiagramPanel _tdp)  {
         super(_x, _y, _minX, _maxX, _minY, _maxY, _pos, _father, _tdp);
         
-        width = 10;
-        height = 30;
+        // Issue #31
+//        width = 10;
+//        height = 30;
+        initSize( 10, 30 );
+
         textX = width + 5;
         textY = height/2 + 5;
         
diff --git a/src/main/java/ui/tmlad/TMLADExecI.java b/src/main/java/ui/tmlad/TMLADExecI.java
index 46a006318f79ccf7f8f30d00ca183fbdb0672183..543fbfea8f3b2cbf2a6c9b917dcad1001d57ba9e 100755
--- a/src/main/java/ui/tmlad/TMLADExecI.java
+++ b/src/main/java/ui/tmlad/TMLADExecI.java
@@ -66,8 +66,10 @@ public class TMLADExecI extends TADComponentWithSubcomponents /* Issue #69 TGCWi
     public TMLADExecI(int _x, int _y, int _minX, int _maxX, int _minY, int _maxY, boolean _pos, TGComponent _father, TDiagramPanel _tdp)  {
         super(_x, _y, _minX, _maxX, _minY, _maxY, _pos, _father, _tdp);
         
-        width = 10;
-        height = 30;
+        // Issue #31
+//        width = 10;
+//        height = 30;
+        initSize( 10, 30 );
         textX = width + 5;
         textY = height/2 + 5;
         
diff --git a/src/main/java/ui/tmlad/TMLADStartState.java b/src/main/java/ui/tmlad/TMLADStartState.java
index 0fa07b1319dba0045d4045d4c243ef2490af8de7..ae1b8317ac2e9f47d041f8ef6942ae2de5b2eb61 100755
--- a/src/main/java/ui/tmlad/TMLADStartState.java
+++ b/src/main/java/ui/tmlad/TMLADStartState.java
@@ -53,7 +53,7 @@ import ui.ad.TADStartState;
  * @author Ludovic APVRILLE
  */
 public class TMLADStartState extends TADStartState /* Issue #69 TGCWithoutInternalComponent*/ implements EmbeddedComment{
-    private int lineLength = 5;
+    //private int lineLength = 5;
     
     public TMLADStartState(int _x, int _y, int _minX, int _maxX, int _minY, int _maxY, boolean _pos, TGComponent _father, TDiagramPanel _tdp)  {
         super(_x, _y, _minX, _maxX, _minY, _maxY, _pos, _father, _tdp);