diff --git a/src/main/java/tmltranslator/toavatar/TML2Avatar.java b/src/main/java/tmltranslator/toavatar/TML2Avatar.java
index d336ddaaa2c2555d4d21706103bb450432d28ef7..21fa241aa0f089d044f7778840515bc5b11f67da 100644
--- a/src/main/java/tmltranslator/toavatar/TML2Avatar.java
+++ b/src/main/java/tmltranslator/toavatar/TML2Avatar.java
@@ -430,19 +430,16 @@ outerloop:
 						as.addValue("tmp");
 					}
 					else {
+					//	Add parameter to signal and actiononsignal
+						sig.addParameter(block.getAvatarAttributeWithName(sr.getParam(i)));
 						as.addValue(sr.getParam(i));
 					}
 				}
-				//Create new value to send....
-				AvatarAttribute requestData= new AvatarAttribute(req.getName()+"__reqData", AvatarType.INTEGER, block, null);
-				as.addValue(req.getName()+"__reqData");
-				if (block.getAvatarAttributeWithName(req.getName()+"__reqData")==null){
-					block.addAttribute(requestData);	
-				}
+				/*
 				if (req.checkAuth){
 					AvatarAttributeState authOrig = new AvatarAttributeState(block.getName()+"."+signalState.getName()+"."+requestData.getName(),ae.getReferenceObject(),requestData, signalState);
 					signalAuthOriginMap.put(req.getName(), authOrig);
-				}
+				}*/
 				tran= new AvatarTransition(block, "__after_"+ae.getName(), ae.getReferenceObject());
 				elementList.add(signalState);
 				signalState.addNext(signalTran);
@@ -585,6 +582,8 @@ outerloop:
 							System.out.println("Missing Attribute " + aee.getParam(i));
 						}
 						else {
+							//	Add parameter to signal and actiononsignal
+							sig.addParameter(block.getAvatarAttributeWithName(aee.getParam(i)));
 							as.addValue(aee.getParam(i));
 						}
 					}
@@ -620,6 +619,8 @@ outerloop:
 							System.out.println("Missing Attribute " + aee.getParam(i));
 						}
 						else {
+							//	Add parameter to signal and actiononsignal
+							sig.addParameter(block.getAvatarAttributeWithName(aee.getParam(i)));
 							as.addValue(aee.getParam(i));
 						}
 					}
@@ -1657,22 +1658,24 @@ outerloop:
 						AvatarActionOnSignal as= new AvatarActionOnSignal("getRequest__"+req.getName(), sig, req.getReferenceObject());
 						incrTran.addNext(as);
 						asm.addElement(as);
-						as.addValue(req.getName()+"__reqData");
+						/*as.addValue(req.getName()+"__reqData");
 						AvatarAttribute requestData= new AvatarAttribute(req.getName()+"__reqData", AvatarType.INTEGER, block, null);
-						block.addAttribute(requestData);
+						block.addAttribute(requestData);*/
 						for (int i=0; i< req.getNbOfParams(); i++){
 							if (block.getAvatarAttributeWithName(req.getParam(i))==null){
 								//Throw Error
 								as.addValue("tmp");
 							}
 							else {
+								sig.addParameter(block.getAvatarAttributeWithName(req.getParam(i)));
 								as.addValue(req.getParam(i));
 							}
 						}
 						AvatarTransition tran = new AvatarTransition(block, "__after_" + req.getName(), task.getActivityDiagram().get(0).getReferenceObject());
 						as.addNext(tran);
 						asm.addElement(tran);
-						if (req.checkAuth){
+						tran.addNext(newStart);
+						/*if (req.checkAuth){
 							AvatarState afterSignalState = new AvatarState("aftersignalstate_"+req.getName().replaceAll(" ","")+"_"+req.getName().replaceAll(" ",""),req.getReferenceObject());
 							AvatarTransition afterSignalTran = new AvatarTransition(block, "__aftersignalstate_"+req.getName(), req.getReferenceObject());
 							tran.addNext(afterSignalState);
@@ -1685,7 +1688,7 @@ outerloop:
 						}  
 						else {
 							tran.addNext(newStart);
-						}
+						}*/
 
 					}
 
diff --git a/src/main/java/ui/GTURTLEModeling.java b/src/main/java/ui/GTURTLEModeling.java
index a98380247e0483352e01cc1440b77584ca6caee6..d796760c4e7d557dfeca1baa91069fc83181994e 100755
--- a/src/main/java/ui/GTURTLEModeling.java
+++ b/src/main/java/ui/GTURTLEModeling.java
@@ -9319,12 +9319,12 @@ public class GTURTLEModeling {
     public void addStates(AvatarStateMachineElement asme, int x, int y, AvatarSMDPanel smp, AvatarBDBlock bl, Map<AvatarStateMachineElement, TGComponent> SMDMap, Map<AvatarStateMachineElement, TGComponent> locMap, Map<AvatarTransition, AvatarStateMachineElement> tranDestMap, Map<AvatarTransition, TGComponent> tranSourceMap){
         // TGConnectingPoint tp = new TGConnectingPoint(null, x, y, false, false);
         //Create dummy tgcomponent
-        TGComponent tgcomp = new AvatarSMDStartState(x,y,x,x*2,y,y*2,false,null,smp);
+        TGComponent tgcomp = new AvatarSMDStartState(x,y,smp.getMinX(), smp.getMaxX(), smp.getMinY(), smp.getMaxY(),false,null,smp);
         if (asme==null){
             return;
         }
         if (asme instanceof AvatarStartState){
-            AvatarSMDStartState smdss = new AvatarSMDStartState(x, y, x, x*2, y, y*2, false, null, smp);
+            AvatarSMDStartState smdss = new AvatarSMDStartState(x, y, smp.getMinX(), smp.getMaxX(), smp.getMinY(), smp.getMaxY(), false, null, smp);
             tgcomp = smdss;
             smp.addComponent(smdss, x, y, false, true);
             SMDMap.put(asme, smdss);
@@ -9335,7 +9335,7 @@ public class GTURTLEModeling {
             //
         }
         if (asme instanceof AvatarRandom){
-            AvatarSMDRandom smdr = new AvatarSMDRandom(x, y, x, x*2, y, y*2, false, null, smp);
+            AvatarSMDRandom smdr = new AvatarSMDRandom(x, y, smp.getMinX(), smp.getMaxX(), smp.getMinY(), smp.getMaxY(), false, null, smp);
             smdr.setVariable(((AvatarRandom)asme).getVariable());
             smp.addComponent(smdr, x, y, false, true);
             tgcomp=smdr;
@@ -9345,7 +9345,7 @@ public class GTURTLEModeling {
         if (asme instanceof AvatarActionOnSignal){
             avatartranslator.AvatarSignal sig = ((AvatarActionOnSignal) asme).getSignal();
             if (sig.isIn()){
-                AvatarSMDReceiveSignal smdrs = new AvatarSMDReceiveSignal(x, y, x, x*2, y, y*2, false, null, smp);
+                AvatarSMDReceiveSignal smdrs = new AvatarSMDReceiveSignal(x, y, smp.getMinX(), smp.getMaxX(), smp.getMinY(), smp.getMaxY(), false, null, smp);
                 tgcomp=smdrs;
                 smp.addComponent(smdrs, x, y, false, true);
                 //                              String name=sig.minString();
@@ -9371,7 +9371,7 @@ public class GTURTLEModeling {
 
             }
             else {
-                AvatarSMDSendSignal smdss = new AvatarSMDSendSignal(x, y, x, x*2, y, y*2, false, null, smp);
+                AvatarSMDSendSignal smdss = new AvatarSMDSendSignal(x, y, smp.getMinX(), smp.getMaxX(), smp.getMinY(), smp.getMaxY(), false, null, smp);
                 tgcomp=smdss;
                 smp.addComponent(smdss, x, y, false, true);
                 String parameters="";
@@ -9396,7 +9396,7 @@ public class GTURTLEModeling {
 
         }
         if (asme instanceof AvatarStopState){
-            AvatarSMDStopState smdstop = new AvatarSMDStopState(x, y, x, x*2, y, y*2, false, null, smp);
+            AvatarSMDStopState smdstop = new AvatarSMDStopState(x, y, smp.getMinX(), smp.getMaxX(), smp.getMinY(), smp.getMaxY(), false, null, smp);
             tgcomp=smdstop;
             SMDMap.put(asme, smdstop);
             smp.addComponent(smdstop, x, y, false, true);
@@ -9419,7 +9419,7 @@ public class GTURTLEModeling {
             return;
             }
             }*/
-            AvatarSMDState smdstate = new AvatarSMDState(x, y, x, x*2, y, y*2, false, null, smp);
+            AvatarSMDState smdstate = new AvatarSMDState(x, y, smp.getMinX(), smp.getMaxX(), smp.getMinY(), smp.getMaxY(), false, null, smp);
             tgcomp=smdstate;
             smp.addComponent(smdstate, x, y, false, true);
             smdstate.setValue(asme.getName());
@@ -9430,7 +9430,7 @@ public class GTURTLEModeling {
             locMap.put(asme, smdstate);
         }
         int i=0;
-        int diff=100;
+        int diff=300;
         int ydiff=50;
         int num = asme.nbOfNexts();
         if (!(asme instanceof AvatarTransition)){