diff --git a/src/main/java/avatartranslator/tosysmlv2/Avatar2SysML.java b/src/main/java/avatartranslator/tosysmlv2/Avatar2SysML.java
index 0dddf69761d69a844e064b10394253d5f828c638..b2c2e529202c4efc2584a3291674e71453852d44 100644
--- a/src/main/java/avatartranslator/tosysmlv2/Avatar2SysML.java
+++ b/src/main/java/avatartranslator/tosysmlv2/Avatar2SysML.java
@@ -240,7 +240,7 @@ public class Avatar2SysML {
     }
 
     void attribute2SysML(AvatarAttribute aa, String prefix){
-        avsysml.append(indent + prefix + "attribute " + attributeSysMLname(aa.getName() + " : "));
+        avsysml.append(indent + prefix + "attribute " + attributeSysMLname(aa.getName()) + " : ");
         if (aa.isInt()) avsysml.append("Integer;\n");
         else avsysml.append("Boolean;\n");
     }
@@ -248,8 +248,13 @@ public class Avatar2SysML {
     void method2SysML(AvatarMethod am){
         // "return tuple" not handled
         String returnType = null;
-        if(am.getListOfReturnAttributes().size() == 1)
-            returnType = am.getListOfReturnAttributes().get(0).getType().getStringType();
+        if(am.getListOfReturnAttributes().size() == 1){
+            String avatarType = am.getListOfReturnAttributes().get(0).getType().getStringType();
+            if (avatarType.equals("int"))
+                returnType = "Integer";
+            else
+                returnType = "Boolean";
+        }
         if (returnType == null) {
             avsysml.append(indent + "action " + methodSysMLname(am.getName()) +  ": '#AvatarVoidMethod' {\n");
             indent += indentStep;
@@ -298,6 +303,7 @@ public class Avatar2SysML {
             if (block.getFather() == null) block2SysML(block);
     }
 
+    Boolean stopState;
     void statemachine2SysML(AvatarStateMachine asm) {
         stateList.clear();
         // associate names to future SysML states
@@ -334,6 +340,7 @@ public class Avatar2SysML {
                         indent + "exhibit state '@statemachine' : '#AvatarStateMachine' {\n\n");
         indent += indentStep;
         // generate SysML states with associated transitions
+        stopState = false;
         for (AvatarStateMachineElement asme : stateList) state2SysML(asme);
         indent = indent.substring(indentStepSize);
         avsysml.append(indent + "}\n");
@@ -393,7 +400,7 @@ public class Avatar2SysML {
                 if (requests.equals(""))
                     avsysml.append(";\n\n");
                 else
-                    avsysml.append(" = '#AvatarSenddState'(\n" + requests + indent + ");\n\n");
+                    avsysml.append(" = '#AvatarSendState'(\n" + requests + indent + ");\n\n");
             } else {
                 avsysml.append(indent + "state " + stateMap.get(asme).getName() + " : '#AvatarReceiveState'");
                 if (requests.equals(""))
@@ -412,11 +419,9 @@ public class Avatar2SysML {
         } else
 
         if(asme instanceof AvatarStopState){
-            avsysml.append(indent + "state " + stateMap.get(asme).getName() + " :'#AvatarStopState'");
-            if (requests.equals(""))
-                avsysml.append(";\n\n");
-            else
-                avsysml.append(" = '#AvatarStopState'(\n" + requests + indent + ");\n\n");
+            if(! stopState)
+                avsysml.append(indent + "state " + stateMap.get(asme).getName() + " :'#AvatarStopState';\n\n");
+            stopState = true;
         }
 
         // Transition descriptions
@@ -433,29 +438,29 @@ public class Avatar2SysML {
                 indent += indentStep;
                 avsysml.append(indent + "request =\n");
                 indent += indentStep;
-                avsysml.append(sendRequest2SysML(1, "0", "0", signalinfo, aos.getValues()));
+                avsysml.append(sendRequest2SysML(1, "0", "0", signalinfo, aos.getValues()) + "\n");
                 indent = indent.substring(2 * indentStepSize);
-                avsysml.append(indent + ");\n");
+                avsysml.append(indent + ");\n\n");
                 // its transition
-                sysMLtransitions.append(indent + "transition : '#AvatarTransition' first " + stateinfo.getPreName() +
-                        " then " + stateinfo.getName() + ";\n");
+                avsysml.append(indent + "transition : '#AvatarTransition' first " + stateinfo.getPreName() +
+                        " then " + stateinfo.getName() + ";\n\n");
             } else {
                 avsysml.append(indent + "state " + stateinfo.getPreName() + " : '#AvatarPreReceiveState' = '#AvatarPreReceiveState' (\n");
                 indent += indentStep;
                 avsysml.append(indent + "request =\n");
                 indent += indentStep;
-                avsysml.append(receiveRequest2SysML(1, "0", "0", signalinfo));
+                avsysml.append(receiveRequest2SysML(1, "0", "0", signalinfo) + "\n");
                 indent = indent.substring(2 * indentStepSize);
-                avsysml.append(indent + ");\n");
+                avsysml.append(indent + ");\n\n");
                 // its transition
-                sysMLtransitions.append(indent + "transition : '#AvatarTransition' first " + stateinfo.getPreName() + "\n");
+                avsysml.append(indent + "transition : '#AvatarTransition' first " + stateinfo.getPreName() + "\n");
                 indent += indentStep;
                 String doAction = receiveActions2SysM(signalinfo, aos.getValues());
                 if (doAction.length() == 0)
-                    sysMLtransitions.append(indent + "then " + stateinfo.getName() + ";\n");
+                    avsysml.append(indent + "then " + stateinfo.getName() + ";\n\n");
                 else {
-                    sysMLtransitions.append(doAction);
-                    sysMLtransitions.append(" then " + stateinfo.getName() + ";\n");
+                    avsysml.append(doAction);
+                    avsysml.append(" then " + stateinfo.getName() + ";\n\n");
                 }
                 indent = indent.substring(indentStepSize);
             }
@@ -590,7 +595,7 @@ public class Avatar2SysML {
     }
 
     String sendRequest2SysML(int index, String min, String max, ChannelInfo chinfo, List<String> values) {
-        StringBuffer result = new StringBuffer(indent + "’#SendRequest’(\n");
+        StringBuffer result = new StringBuffer(indent + "'#SendRequest'(\n");
         indent += indentStep;
         result.append(indent + "transition_index= " + index + ",\n" +
                       indent + "channel= " + chinfo.getName() + ",\n");
@@ -616,7 +621,7 @@ public class Avatar2SysML {
     }
 
     String receiveRequest2SysML(int index, String min, String max, ChannelInfo chinfo) {
-        StringBuffer result = new StringBuffer(indent + "’#ReceiveRequest’(\n");
+        StringBuffer result = new StringBuffer(indent + "'#ReceiveRequest'(\n");
         indent += indentStep;
         result.append(indent + "transition_index= " + index + ",\n" +
                       indent + "channel= " + chinfo.getName());
@@ -634,7 +639,7 @@ public class Avatar2SysML {
     String transitionActions2SysM(List<AvatarAction> aas) {
         StringBuffer result;
         if (aas == null || aas.size() == 0) return "";
-        result = new StringBuffer(indent + "do action (\n" + indent + indentStep + "first start;\n");
+        result = new StringBuffer(indent + "do action {\n" + indent + indentStep + "first start;\n");
         indent += indentStep;
         for(AvatarAction aa : aas) {
             if(aa instanceof AvatarActionAssignment) {
@@ -649,7 +654,7 @@ public class Avatar2SysML {
             }
         }
         indent = indent.substring(indentStepSize);
-        result.append(indent + ")");
+        result.append(indent + "}");
         return result.toString();
     }