diff --git a/INSTALL b/INSTALL
index 02404781e23b1e5bdbd011a8e91a747e66651aa3..a3e2c3cd3b1d9a2979a4b0798e36de5260234c19 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,11 +1,10 @@
 
 Installation instructions for UNIX
+==================================
 
    1. change to /some/directory
-
    2. uncompress and untar the artemis_compiled.tar.gz file
-      On UNIX the command is:   gzip -d < artemis_compiled.tar.gz | tar xf -
-
+      On UNIX the command is:   tar xzvf artemis_compiled.tar.gz 
 
 This will create a "artemis" directory containing all the java classes.  On
 Unix the easiest way to run the program is to run the script called art in the
@@ -18,7 +17,8 @@ menus.  From the File menu you can open a flat file containing an
 entry.  If it reads the entry successfully a new window will open,
 which shows the sequence and features for the entry.
 
-====================================================================
+Download and Install from GitHub
+================================
 
 Installation instructions for GitHub download
 
@@ -30,4 +30,42 @@ Installation instructions for GitHub download
    3. Run Artemis:
       ./art
       or ACT:
-      ./act
\ No newline at end of file
+      ./act
+      
+Makefile targets
+================
+
+make		- compile code  
+make jar	- create Artemis (jar_build/artemis.jar) and ACT 
+			  (jar_build/act.jar) jar files.
+make dist	- create a tar ball of the Artemis/ACT distribution
+
+Creating signed jar files for Artemis/ACT Java Web Start launch
+===============================================================
+
+Use 'make jar' to create jar_build/artemis.jar. See the following pages 
+for a description of deploying and signing jar files:
+
+http://java.sun.com/docs/books/tutorial/deployment/webstart/deploying.html
+http://java.sun.com/docs/books/tutorial/deployment/jar/signing.html
+
+Use the Java keytool to generate a keystore (e.g. artemisstore below) file:
+
+keytool -genkey -alias signFiles -dname "CN=$NAME, \
+        OU=$ORGU, O=$ORG, L=$LOC, S=$STATE, C=$CODE" \
+        -keypass $KEYPASS -storepass $STOREPASS -keystore artemisstore  -validity $VALID
+
+The following can be used to view the key store and list entry details:
+
+keytool -list -v -keystore artemisstore
+
+Then use the following to create a signed jar to use in the JNLP file:
+
+jarsigner -keystore artemisstore -storepass $STOREPASS -keypass $KEYPASS \
+           -signedjar sartemis.jar artemis.jar signFiles
+
+Running the test suite
+======================
+
+cd test
+ant -f build-test.xml
diff --git a/etc/versions b/etc/versions
index 97db435897db12230c946ee112de9e600febb3b6..76416e8b7cdc239744377394db8022b170735e75 100644
--- a/etc/versions
+++ b/etc/versions
@@ -1,4 +1,4 @@
-Artemis Release 16.0.8
-ACT Release 13.0.8
+Artemis Release 16.0.9
+ACT Release 13.0.9
 DNAPlotter Release 1.11
 BamView 1.2.13
\ No newline at end of file
diff --git a/gff2embl b/gff2embl
new file mode 100755
index 0000000000000000000000000000000000000000..6052ebde5d4745652f784dff6d7fd00c8554cc10
--- /dev/null
+++ b/gff2embl
@@ -0,0 +1,106 @@
+#!/bin/sh -
+
+# Command line utility for coverting GFF to EMBL
+PRG=$0
+progname=`basename $0`
+
+ARTEMIS_HOME=`dirname "$PRG"`/.
+
+CLASSPATH=$ARTEMIS_HOME:$ARTEMIS_HOME/lib/biojava.jar:$ARTEMIS_HOME/lib/jemAlign.jar:$ARTEMIS_HOME/lib/jakarta-regexp-1.2.jar:$ARTEMIS_HOME/lib/macos.jar:$ARTEMIS_HOME/lib/postgresql-8.4-701.jdbc3.jar:$ARTEMIS_HOME/lib/chado-14-interface.jar:$CLASSPATH
+
+# j2ssh jars
+CLASSPATH=$CLASSPATH:$ARTEMIS_HOME/lib/j2ssh/commons-logging.jar:$ARTEMIS_HOME/lib/j2ssh/j2ssh-core.jar:$ARTEMIS_HOME/lib/j2ssh/
+
+# iBatis jars
+CLASSPATH=$CLASSPATH:$ARTEMIS_HOME/lib/ibatis/ibatis-2.3.4.726.jar:$ARTEMIS_HOME/lib/ibatis/:$ARTEMIS_HOME/lib/ibatis/log4j-1.2.14.jar:$ARTEMIS_HOME/lib/ibatis/cglib-nodep-2.2.jar:$ARTEMIS_HOME/lib/retrotranslator-runtime-1.1.0.jar
+export CLASSPATH
+
+# batik jars
+CLASSPATH=$CLASSPATH:$ARTEMIS_HOME/lib/batik/batik-awt-util.jar:$ARTEMIS_HOME/lib/batik/batik-dom.jar:$ARTEMIS_HOME/lib/batik/batik-ext.jar:$ARTEMIS_HOME/lib/batik/batik-svggen.jar:$ARTEMIS_HOME/lib/batik/batik-util.jar:$ARTEMIS_HOME/lib/batik/batik-xml.jar
+
+# picard jars
+CLASSPATH=$ARTEMIS_HOME/lib/picard/sam.jar:$ARTEMIS_HOME/lib/picard/picard.jar:$ARTEMIS_HOME/lib/commons-net-2.2.jar:$CLASSPATH
+CLASSPATH="$ARTEMIS_HOME/lib/commons-lang-2.6.jar:$CLASSPATH"
+export CLASSPATH
+
+if [ $# = 0 ]
+then
+    :
+else
+    if [ "$1" = "-h" -o "$1" = "--help" -o "$1" = "-help" ]
+    then
+        cat <<EOF
+
+SYNOPSIS
+        gff2embl
+USAGE
+        $0 [options] <SEQUENCE_FILE>
+OPTIONS
+        SEQUENCE_FILE                  A GFF3 file
+
+        -s FILE                  space separated list of GFF files to read and write out
+        -o OUTPUT_DIR            output directory
+        -f [y/n]                 flatten the gene model, default is y
+        -z                       gzip output, default is y
+        -a [y|n]                 for EMBL submission format change to n, default is y
+EXAMPLES
+        % -s /Users/tjc/test.gff -o /Users/tjc
+HOMEPAGE
+        http://www.sanger.ac.uk/resources/software/artemis/
+EOF
+        exit 0
+    fi
+fi
+
+ARTEMIS_PROPERTIES="-Dartemis.environment=UNIX"
+
+# Allow URLs to work from behind firewalls
+if [ "$http_proxy" = "" ]
+then
+  http_proxy=$HTTP_PROXY
+fi
+
+if [ "$http_proxy" = "" ]
+then
+  http_proxy=$HTTP_proxy
+fi
+
+if [ "$http_proxy" != "" ]
+then
+  ARTEMIS_PROPERTIES="$ARTEMIS_PROPERTIES -DproxySet=true "`echo $http_proxy | sed 's/http:\/\/\(.*\):\(.*\)/ -Dhttp.proxyHost=\1 -Dhttp.proxyPort=\2/'`
+fi
+
+
+# "-mx500m" sets the maximum amount of memory that Artemis can use.  This may
+# need to be increased when dealing with large files
+MEM="-mx500m -ms20m"
+
+if [ "$JVM_FLAGS" = "" ]
+then
+    FLAGS="$MEM -noverify"
+else
+    FLAGS="$MEM -noverify $JVM_FLAGS"
+fi
+
+
+FLAGS=$FAST_FLAG$FLAGS
+
+if [ "$JAVA_VM" = "" ]
+then
+    if [ "$DEBUG" = yes ]
+    then
+        JAVA=java_g
+    else
+        JAVA=java
+    fi
+else
+    JAVA=$JAVA_VM
+fi
+
+PLATTMP=`uname`
+if [ "$PLATTMP" = "Darwin" ]
+then
+  FLAGS="$FLAGS -Dapple.laf.useScreenMenuBar=true -Dcom.apple.mrj.application.apple.menu.about.name=Circular Plot"
+fi
+
+$JAVA $MEM uk.ac.sanger.artemis.io.GffToEMBL $*
diff --git a/uk/ac/sanger/artemis/io/DocumentEntryFactory.java b/uk/ac/sanger/artemis/io/DocumentEntryFactory.java
index f530a0863f4df5fc36c3d39f742f54e27fa8c884..a83b7b2359604ca4111527317d34ad733622dd3b 100644
--- a/uk/ac/sanger/artemis/io/DocumentEntryFactory.java
+++ b/uk/ac/sanger/artemis/io/DocumentEntryFactory.java
@@ -31,6 +31,8 @@ import uk.ac.sanger.artemis.util.LinePushBackReader;
 import java.io.File;
 import java.io.IOException;
 
+import javax.swing.JOptionPane;
+
 
 /**
  *  This class contains the method makeDocumentEntry (), which creates a
@@ -79,7 +81,18 @@ abstract public class DocumentEntryFactory
         document.getInputStream() instanceof net.sf.samtools.util.BlockCompressedInputStream)
     {
       if(IndexedGFFDocumentEntry.isIndexed( ((File)document.getLocation()) ))
-        return new IndexedGFFDocumentEntry(document);
+      {
+        Object[] possibleValues = { "Use index", "Ignore index" };
+        int sel = JOptionPane.showOptionDialog(null, 
+            "Use the GFF index file (to increase the performance)\n"+ 
+            "or concatenate the sequences together?",
+            "Indexed GFF", 
+            JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE,
+            null, possibleValues, possibleValues[0]);
+
+        if(sel == 0)
+          return new IndexedGFFDocumentEntry(document);
+      }
     }
     
     final LinePushBackReader document_reader =
diff --git a/uk/ac/sanger/artemis/io/GffToEMBL.java b/uk/ac/sanger/artemis/io/GffToEMBL.java
index 838247b4070baff732578d4cca8edf6ef40bb967..cb62d117cff8b7784d54d51d1bc9d0963dc3a3eb 100644
--- a/uk/ac/sanger/artemis/io/GffToEMBL.java
+++ b/uk/ac/sanger/artemis/io/GffToEMBL.java
@@ -224,7 +224,7 @@ class GffToEMBL
         (args == null || args.length < 1))
     {
       System.out.println("-h\tshow help");
-      System.out.println("-s\tspace separated list of sequences to read and write out");
+      System.out.println("-s\tspace separated list of GFF files to read and write out");
       System.out.println("-o\toutput directory");
       System.out.println("-f\t[y|n] flatten the gene model, default is y");
       System.out.println("-z\t[y|n] gzip output, default is y");