diff --git a/uk/ac/sanger/artemis/components/genebuilder/GeneBuilderFrame.java b/uk/ac/sanger/artemis/components/genebuilder/GeneBuilderFrame.java
index a7ea0646fa454f05b0e21c20507d5bfb6184107c..847710b3089b4a2b0448c890a9c43b5c2f3cd737 100644
--- a/uk/ac/sanger/artemis/components/genebuilder/GeneBuilderFrame.java
+++ b/uk/ac/sanger/artemis/components/genebuilder/GeneBuilderFrame.java
@@ -216,7 +216,9 @@ public class GeneBuilderFrame extends JFrame
     feature_editor = new FeatureEdit(feature, entry_group,
                         selection, goto_event_source, this);
    
-      
+    feature_editor.getQualifierTextArea().getDocument().addDocumentListener(
+        new TextAreaDocumentListener(feature_editor.getQualifierTextArea()));
+
     tabpane = new JTabbedPane();
     tabpane.addTab("Annotation", feature_editor);
     setTabTitle();
diff --git a/uk/ac/sanger/artemis/components/genebuilder/GeneEditorPanel.java b/uk/ac/sanger/artemis/components/genebuilder/GeneEditorPanel.java
index 1c5680fd193ee3064285bba9dd426557455014fb..9939010fbf9d7effaa81047c3942912b3c2d6772 100644
--- a/uk/ac/sanger/artemis/components/genebuilder/GeneEditorPanel.java
+++ b/uk/ac/sanger/artemis/components/genebuilder/GeneEditorPanel.java
@@ -57,11 +57,13 @@ public class GeneEditorPanel extends JPanel
   private OpenSectionButton cvButton;
   private OpenSectionButton matchButton;
   private OpenSectionButton propertiesButton;
+  private OpenSectionButton refButton;
   
   private QualifierTextArea qualifier_text_area;
   private CVPanel cvForm;
   private MatchPanel matchForm;
   private PropertiesPanel propertiesPanel;
+  private ReferencesPanel refPanel;
 
   /**
    * Gene editor panel - showing annotation in a single panel.
@@ -71,7 +73,8 @@ public class GeneEditorPanel extends JPanel
    * @param propertiesPanel
    */
   public GeneEditorPanel(final QualifierTextArea qualifier_text_area,
-                         final CVPanel cvForm, 
+                         final CVPanel cvForm,
+                         final ReferencesPanel refPanel,
                          final MatchPanel matchForm,
                          final PropertiesPanel propertiesPanel)
   {
@@ -79,19 +82,24 @@ public class GeneEditorPanel extends JPanel
     this.cvForm = cvForm;
     this.matchForm = matchForm;
     this.propertiesPanel = propertiesPanel;
+    this.refPanel = refPanel;
     
     setLayout( new BoxLayout(this, BoxLayout.PAGE_AXIS) );
     setBackground(Color.WHITE);
-    JScrollPane jspCore = new JScrollPane(qualifier_text_area);
-    jspCore.setPreferredSize(new Dimension(jspCore.getPreferredSize().width, 100));
+    //JScrollPane jspCore = new JScrollPane(qualifier_text_area);
+    //jspCore.setPreferredSize(new Dimension(jspCore.getPreferredSize().width, 100));
     
     addDarkSeparator(this);
     propertiesButton = addOpenClosePanel("Properties", propertiesPanel, this, null);
     add(propertiesPanel);
     
     addDarkSeparator(this);
-    coreButton = addOpenClosePanel("Core",jspCore, this, null);
-    add(jspCore);
+    coreButton = addOpenClosePanel("Core",qualifier_text_area, this, null);
+    add(qualifier_text_area);
+    
+    addDarkSeparator(this);
+    refButton = addOpenClosePanel("References",refPanel, this, null);
+    add(refPanel);
     
     addDarkSeparator(this);
     cvButton = addOpenClosePanel("Controlled Vocabulary", cvForm, this,
@@ -122,6 +130,11 @@ public class GeneEditorPanel extends JPanel
     else
       cvButton.setOpen(true);
     
+    if(refPanel.isEmpty())
+      refButton.setOpen(false);
+    else
+      refButton.setOpen(true);
+    
     if(matchForm.isEmpty())
       matchButton.setOpen(false);
     else
diff --git a/uk/ac/sanger/artemis/components/genebuilder/ReferencesPanel.java b/uk/ac/sanger/artemis/components/genebuilder/ReferencesPanel.java
index e32b06973b99be33110ad407a181688e2a084566..92dc9b373a9cd5f42205ddf821cf1558a76c0530 100644
--- a/uk/ac/sanger/artemis/components/genebuilder/ReferencesPanel.java
+++ b/uk/ac/sanger/artemis/components/genebuilder/ReferencesPanel.java
@@ -62,8 +62,9 @@ public class ReferencesPanel extends JPanel
     return false;
   }
   
-  private void updateFromFeature(Feature feature)
+  public void updateFromFeature(Feature feature)
   {
+    super.removeAll();
     GridBagConstraints c = new GridBagConstraints();
     JPanel gridPanel = new JPanel(new GridBagLayout());
     gridPanel.setBackground(Color.white);
@@ -98,20 +99,27 @@ public class ReferencesPanel extends JPanel
     c.gridy = 0;
     c.ipadx = 5;
     c.ipady = 5;
-    c.anchor = GridBagConstraints.NORTHWEST;
+    c.anchor = GridBagConstraints.NORTHEAST;
     c.fill = GridBagConstraints.NONE;
-    gridPanel.add(new JLabel("Literature"),c);
+    JLabel litLab = new JLabel("Literature");
+    litLab.setToolTipText("Comma separated list, e.g. PMID:12345, PMID:56789...");
+    gridPanel.add(litLab,c);
     c.gridx = 1;
+    c.anchor = GridBagConstraints.NORTHWEST;
     gridPanel.add(literatureTextArea,c);
     
     c.gridx = 0;
     c.gridy = 1;
-    gridPanel.add(new JLabel("Dbxref"),c);
+    c.anchor = GridBagConstraints.NORTHEAST;
+    JLabel dbLab = new JLabel("Dbxref");
+    dbLab.setToolTipText("Comma separated list, e.g. UniProtKB:Q9NFB6, ...");
+    gridPanel.add(dbLab,c);
     c.gridx = 1;
+    c.anchor = GridBagConstraints.NORTHWEST;
     gridPanel.add(dbxrefTextArea,c);
-    
+
     add(gridPanel);
-    
+
     literatureTextArea.setText(litBuffer.toString()+"\n");
     dbxrefTextArea.setText(dbxrefBuffer.toString()+"\n");
   }