diff --git a/artemis_sqlmap/Cvterm.xml b/artemis_sqlmap/Cvterm.xml
index 5194e61a546d2e8743c4cd1f215b5827243cf27f..8d63b2ef20c845be23ba014853543a24d26cc6b4 100644
--- a/artemis_sqlmap/Cvterm.xml
+++ b/artemis_sqlmap/Cvterm.xml
@@ -7,7 +7,7 @@
 
 <sqlMap namespace="Cvterm"> 
  
-    <resultMap id="select-cvterm-names-result" class="uk.ac.sanger.ibatis.Cvterm">
+    <resultMap id="select-cvterm-names-result" class="uk.ac.sanger.artemis.chado.Cvterm">
    	<result property="id" column="cvterm_id"/>
   	<result property="name" column="cvterm_name"/>
         <result property="cv_name" column="cv_name"/>
diff --git a/artemis_sqlmap/Feature.xml b/artemis_sqlmap/Feature.xml
index aef073ca6252daa25c5bd577657da64e7055392e..b5581c114ae13320dfb6d4406beecae597f3eb0d 100644
--- a/artemis_sqlmap/Feature.xml
+++ b/artemis_sqlmap/Feature.xml
@@ -16,7 +16,7 @@
         <result property="timelastmodified" column="timelastmodified"/>
    	<result property="id" column="id"/>
   	<result property="object_id" column="object_id"/>
-        <result property="strand" column="strand"/>
+        <result property="strand" column="strand" nullValue="0"/>
         <result property="fmin" column="fmin"/>
         <result property="fmax" column="fmax"/>
         <result property="uniquename" column="uniquename"/>
@@ -165,6 +165,18 @@
          $schema$.feature.feature_id > 0
     </select>
 
+
+    <select id="getOrganismID" resultClass="java.lang.Integer" 
+     parameterClass="uk.ac.sanger.artemis.chado.ChadoFeature">
+      SELECT organism_id FROM $schema$.feature f WHERE
+             f.feature_id=$srcfeature_id$
+    </select>
+
+
+    <select id="currval" resultClass="java.lang.Integer" parameterClass="java.lang.String">
+      SELECT currval('$value$')
+    </select>
+
     <!--  WRITE BACK METHODS -->
     <update id="updateAttributes" parameterClass="uk.ac.sanger.artemis.chado.ChadoTransaction">
       UPDATE $schema$.$chadoTable$
@@ -214,4 +226,26 @@
         feature_id=$feature_id$
     </delete>
 
+    <insert id="insertFeature" parameterClass="uk.ac.sanger.artemis.chado.ChadoFeature">
+      INSERT INTO  $schema$.feature 
+        ( feature_id, organism_id, name, uniquename, type_id )
+      VALUES
+        ( nextval('$schema$.feature_feature_id_seq'),
+          $organism_id$,
+          #uniquename#,
+          #uniquename#,
+          $type_id$ )
+    </insert>
+
+    <insert id="insertFeatureLoc" parameterClass="uk.ac.sanger.artemis.chado.ChadoFeature">
+      INSERT INTO  $schema$.featureloc
+        ( featureloc_id, feature_id, srcfeature_id, fmin, fmax )
+      VALUES
+        ( nextval('$schema$.featureloc_featureloc_id_seq'),
+          $id$,
+          $srcfeature_id$,
+          $fmin$,
+          $fmax$ )
+    </insert>
+
 </sqlMap> 
diff --git a/artemis_sqlmap/Organism.xml b/artemis_sqlmap/Organism.xml
index 5fe0a3e0a8c306b704898905888b906b48b0cffb..cec57fa79c687200becb08c4e19e03c3ec06e3e7 100644
--- a/artemis_sqlmap/Organism.xml
+++ b/artemis_sqlmap/Organism.xml
@@ -8,7 +8,7 @@
  
       <!-- Use primitive wrapper type (e.g. Integer) as parameter and allow results to 
             be auto-mapped results to Organism object (JavaBean) properties --> 
-      <select id="getOrganism" parameterClass="java.lang.String" resultClass="uk.ac.sanger.ibatis.Organism"> 
+      <select id="getOrganism" parameterClass="java.lang.String" resultClass="uk.ac.sanger.artemis.chado.Organism"> 
    	SELECT  
 	  ORGANISM_ID as id,
 	  ABBREVIATION,