diff --git a/src/main/java/ui/window/JDialogCPUNode.java b/src/main/java/ui/window/JDialogCPUNode.java
index 2a38d61796febbd0c1b3c754c5b9d8675c7c30cc..e58ab408c13d9c42815d4c4a58cfa93a403fd3f3 100644
--- a/src/main/java/ui/window/JDialogCPUNode.java
+++ b/src/main/java/ui/window/JDialogCPUNode.java
@@ -211,6 +211,9 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener  {
         JTextArea jft16 = new JTextArea("CPU Extension Construct");
         instructionHelpList.add(jft16);
 
+        JTextArea jft17 = new JTextArea("Operation");
+        instructionHelpList.add(jft17);
+
         for(int i = 0; i < instructionHelpList.size(); i++) {
             Icon myIcon = IconManager.imgic32;
             JButton but = new JButton(myIcon);
@@ -512,10 +515,18 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener  {
         // operation
         c4.gridwidth = 1;
         panel4.add(new JLabel("Operation:"), c4);
-        c4.gridwidth = GridBagConstraints.REMAINDER; //end row
+        //c4.gridwidth = GridBagConstraints.REMAINDER; //end row
         operation = new JTextField(""+node.getOperation(), 15);
         panel4.add(operation, c4);
 
+        //issue 183
+        c4.weighty = 0.5;
+        c4.weightx = 0.5;
+        c4.gridwidth = GridBagConstraints.REMAINDER;
+        panel4.add(buttons.get(16),c4);
+        c4.weighty = 1.0;
+        c4.weightx = 1.0;
+
         // extension constructs
         c4.gridwidth = 1;
         panel4.add(new JLabel("CPU Extension Construct:"), c4);
diff --git a/src/main/java/ui/window/JDialogPragma.java b/src/main/java/ui/window/JDialogPragma.java
index acb05193016bf7578ddabc20cc9f237bd12176c0..867455561d2b07cb99d8244be2bc237b20a09a16 100644
--- a/src/main/java/ui/window/JDialogPragma.java
+++ b/src/main/java/ui/window/JDialogPragma.java
@@ -38,6 +38,7 @@
 
 package ui.window;
 
+import myutil.TraceManager;
 import ui.util.IconManager;
 
 import javax.swing.*;
@@ -308,6 +309,7 @@ public class JDialogPragma extends JDialogBase implements ActionListener {
         //setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);	
         helpPopup = new JPopupMenu();
         JTextArea jft = new JTextArea("Pragma Guidelines: \n #Authenticity: Compare if two Attributes are equal at given states \n #Confidentiality: Query whether the attacker knows the value of this attribute. \n #PublicConstant: Declare string as public constant \n #PrivateConstant: Declare string as private constant \n #InitialSessionKnowledge: Knowledge at the start of each session\n #InitialSystemKnowledge: Knowledge at the start of the system \n #PrivatePublicKeys: Set two attribute of a block as Private and Public Key respectively \n #Public: Declare variable public \n #SecrecyAssumption: Assume attribute confidential, but query to verify \n #Secret: See #Confidentiality");
+        jft.setEditable(false);
         helpPopup.add(jft);
         textarea = new JTextArea();
 
@@ -387,6 +389,15 @@ public class JDialogPragma extends JDialogBase implements ActionListener {
                 help();
             }
         });
+
+        helpPopup.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ESCAPE"), "closeJTextArea");
+        helpPopup.getActionMap().put("closeJTextArea", new AbstractAction() {
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                helpPopup.setVisible(false);
+            }
+        });
+
         JPanel jp = new JPanel();
         jp.add(cancel);
         jp.add(close);