diff --git a/pom.xml b/pom.xml
index 3ce82bc..ce7026a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,6 +20,8 @@
 	<properties>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+		<sesame.version>2.7.0</sesame.version>
+		<elmo.version>1.5</elmo.version>
 	</properties>
 	<dependencies>
 		<!-- Common dependencies - keep these to a minimum as we want to reduce 
@@ -27,13 +29,11 @@
 		<dependency>
 			<groupId>junit</groupId>
 			<artifactId>junit</artifactId>
-                        <version>${junit.version}</version>
 			<scope>test</scope>
 		</dependency>
 	</dependencies>
 	<build>
 		<plugins>
-		    
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-release-plugin</artifactId>
@@ -203,8 +203,8 @@
 		<!-- Disabled until unit tests work <module>scufl2-validation-integration</module> -->
 		
 		<module>scufl2-integration-tests</module>
-    <module>scufl2-annotation</module>
-  </modules>
+		<module>scufl2-annotation</module>
+	</modules>
 	<licenses>
 		<license>
 			<name>GNU Lesser General Public License 2.1</name>
diff --git a/scufl2-annotation/pom.xml b/scufl2-annotation/pom.xml
index e34f96a..c3c36cf 100644
--- a/scufl2-annotation/pom.xml
+++ b/scufl2-annotation/pom.xml
@@ -10,29 +10,29 @@
 	</parent>
   	<artifactId>scufl2-annotation</artifactId>
 	<name>Taverna Scufl 2 annotations</name>		
+	<description>Convenience methods for working with SCUFL2 annotations</description>
 	<dependencies>
 		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-                        <version>${junit.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
 			<groupId>uk.org.taverna.scufl2</groupId>
 			<artifactId>scufl2-api</artifactId>
 			<version>${project.version}</version>
 		</dependency>
 		<dependency>
+			<groupId>com.github.jsonld-java</groupId>
+			<artifactId>jsonld-java-jena</artifactId>
+			<version>0.4</version>
+		</dependency>
+
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
 			<groupId>uk.org.taverna.scufl2</groupId>
 			<artifactId>scufl2-t2flow</artifactId>
 			<version>${project.version}</version>
 			<scope>test</scope>
 		</dependency>
-		<dependency>
-			<groupId>com.github.jsonld-java</groupId>
-			<artifactId>jsonld-java-jena</artifactId>
-			<version>0.4</version>
-		</dependency>
 	</dependencies>
-	<description>Convenience methods for working with SCUFL2 annotations</description>
 </project>
diff --git a/scufl2-api/pom.xml b/scufl2-api/pom.xml
index a77b093..be58bfb 100644
--- a/scufl2-api/pom.xml
+++ b/scufl2-api/pom.xml
@@ -12,31 +12,28 @@
 	<description>Taverna workflow language API</description>
 	<dependencies>
 		<dependency>
+			<groupId>${project.groupId}</groupId>
+			<artifactId>scufl2-ucfpackage</artifactId>
+			<version>${project.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>com.fasterxml.jackson.core</groupId>
+			<artifactId>jackson-core</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>com.fasterxml.jackson.core</groupId>
+			<artifactId>jackson-databind</artifactId>
+		</dependency>
+
+		<dependency>
 			<groupId>commons-beanutils</groupId>
 			<artifactId>commons-beanutils</artifactId>
-			<version>${commons.beanutils.version}</version>
 			<scope>test</scope>
 		</dependency>
 		<dependency>
 			<groupId>commons-io</groupId>
 			<artifactId>commons-io</artifactId>
-			<version>${commons.io.version}</version>
 			<scope>test</scope>
 		</dependency>
-		<dependency>
-			<groupId>${project.groupId}</groupId>
-			<artifactId>scufl2-ucfpackage</artifactId>
-			<version>${project.version}</version>
-		</dependency>
-                <dependency>
-                        <groupId>com.fasterxml.jackson.core</groupId>
-                        <artifactId>jackson-core</artifactId>
-                        <version>${jackson-databind.version}</version>
-                </dependency>        
-                <dependency>
-                        <groupId>com.fasterxml.jackson.core</groupId>
-                        <artifactId>jackson-databind</artifactId>
-                        <version>${jackson-databind.version}</version>
-                </dependency>        
 	</dependencies>
 </project>
diff --git a/scufl2-integration-tests/pom.xml b/scufl2-integration-tests/pom.xml
index aa66297..d57e1b5 100644
--- a/scufl2-integration-tests/pom.xml
+++ b/scufl2-integration-tests/pom.xml
@@ -47,10 +47,7 @@
 		<dependency>
 			<groupId>commons-io</groupId>
 			<artifactId>commons-io</artifactId>
-                        <version>${commons.io.version}</version>
-			<type>jar</type>
 			<scope>test</scope>
 		</dependency>
 	</dependencies>
-
 </project>
diff --git a/scufl2-rdf/pom.xml b/scufl2-rdf/pom.xml
index 5588a32..129561d 100644
--- a/scufl2-rdf/pom.xml
+++ b/scufl2-rdf/pom.xml
@@ -9,10 +9,6 @@
 	<artifactId>scufl2-rdf</artifactId>
 	<packaging>bundle</packaging>
 	<name>Taverna Scufl 2 RDF serialisation</name>
-	<properties>
-		<elmo.version>1.5</elmo.version>
-		<sesame.version>2.3.2</sesame.version>
-	</properties>
 	<build>
 		<plugins>
 			<plugin>
@@ -144,24 +140,16 @@
 	</build>
 	<dependencies>
 		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-		</dependency>
-		<dependency>
 			<groupId>commons-beanutils</groupId>
 			<artifactId>commons-beanutils</artifactId>
 		</dependency>
-
 		<dependency>
 			<groupId>org.openrdf.elmo</groupId>
 			<artifactId>elmo-api</artifactId>
-			<version>${elmo.version}</version>
 		</dependency>
-
 		<dependency>
 			<groupId>org.openrdf.elmo</groupId>
 			<artifactId>elmo-sesame</artifactId>
-			<version>${elmo.version}</version>
 			<exclusions>
 				<exclusion>
 					<groupId>org.slf4j</groupId>
@@ -169,35 +157,66 @@
 				</exclusion>
 			</exclusions>
 		</dependency>
-
-		<dependency>
-			<groupId>org.slf4j</groupId>
-			<artifactId>slf4j-log4j12</artifactId>
-			<version>1.7.5</version>
-		</dependency>
 		<dependency>
 			<groupId>org.openrdf.elmo</groupId>
 			<artifactId>elmo-dynabean</artifactId>
-			<version>${elmo.version}</version>
 		</dependency>
 		<dependency>
 			<groupId>org.openrdf.sesame</groupId>
 			<artifactId>sesame-repository-sail</artifactId>
-			<version>${sesame.version}</version>
-		</dependency>
+			</dependency>
 		<dependency>
 			<groupId>org.openrdf.sesame</groupId>
 			<artifactId>sesame-sail-memory</artifactId>
-			<version>${sesame.version}</version>
 		</dependency>
 		<dependency>
 			<groupId>org.openrdf.elmo</groupId>
 			<artifactId>elmo-codegen</artifactId>
-			<version>${elmo.version}</version>
 		</dependency>
-
-
+		<dependency>
+			<groupId>org.slf4j</groupId>
+			<artifactId>slf4j-log4j12</artifactId>
+		</dependency>
 	</dependencies>
+	<dependencyManagement>
+		<dependencies>
+			<dependency>
+				<groupId>org.slf4j</groupId>
+				<artifactId>slf4j-log4j12</artifactId>
+				<version>1.7.5</version>
+			</dependency>
+			<dependency>
+				<groupId>org.openrdf.elmo</groupId>
+				<artifactId>elmo-api</artifactId>
+				<version>${elmo.version}</version>
+			</dependency>
+			<dependency>
+				<groupId>org.openrdf.elmo</groupId>
+				<artifactId>elmo-sesame</artifactId>
+				<version>${elmo.version}</version>
+			</dependency>
+			<dependency>
+				<groupId>org.openrdf.elmo</groupId>
+				<artifactId>elmo-dynabean</artifactId>
+				<version>${elmo.version}</version>
+			</dependency>
+			<dependency>
+				<groupId>org.openrdf.elmo</groupId>
+				<artifactId>elmo-codegen</artifactId>
+				<version>${elmo.version}</version>
+			</dependency>
+			<dependency>
+				<groupId>org.openrdf.sesame</groupId>
+				<artifactId>sesame-repository-sail</artifactId>
+				<version>${sesame.version}</version>
+			</dependency>
+			<dependency>
+				<groupId>org.openrdf.sesame</groupId>
+				<artifactId>sesame-sail-memory</artifactId>
+				<version>${sesame.version}</version>
+			</dependency>
+		</dependencies>
+	</dependencyManagement>
 	<description>Taverna workflow language serialisation as RDF</description>
 	<!-- 
 	<repositories>
diff --git a/scufl2-rdfxml/pom.xml b/scufl2-rdfxml/pom.xml
index 1fd66d3..97f2791 100644
--- a/scufl2-rdfxml/pom.xml
+++ b/scufl2-rdfxml/pom.xml
@@ -10,9 +10,6 @@
 	<packaging>bundle</packaging>
 	<name>Taverna Scufl 2 RDF/XML</name>
 	<description>XSD based XML serialisation which is RDF/XML compatible</description>
-	<properties>
-		<sesame.version>2.7.0</sesame.version>
-	</properties>
 	<build>
 		<plugins>
             <plugin>
@@ -44,7 +41,6 @@
 		</plugins>
 	</build>
 	<dependencies>
-    
 		<dependency>
 			<groupId>${project.groupId}</groupId>
 			<artifactId>scufl2-api</artifactId>
@@ -52,26 +48,30 @@
 		</dependency>
 		<dependency>
 			<groupId>${project.groupId}</groupId>
+			<artifactId>scufl2-ucfpackage</artifactId>
+			<version>${project.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>com.sun.xml.bind</groupId>
+			<artifactId>jaxb-impl</artifactId>
+			<optional>true</optional>
+		</dependency>
+
+		<dependency>
+			<groupId>${project.groupId}</groupId>
 			<artifactId>scufl2-api</artifactId>
 			<version>${project.version}</version>
 			<type>test-jar</type>
 			<scope>test</scope>
 		</dependency>
 		<dependency>
-			<groupId>${project.groupId}</groupId>
-			<artifactId>scufl2-ucfpackage</artifactId>
-			<version>${project.version}</version>
-		</dependency>
-		<dependency>
 			<groupId>commons-io</groupId>
 			<artifactId>commons-io</artifactId>
-                        <version>${commons.io.version}</version>
 			<scope>test</scope>
 		</dependency>
 		<dependency>
-                        <groupId>org.jdom</groupId>
-                        <artifactId>com.springsource.org.jdom</artifactId>
-                        <version>${jdom.version}</version>
+			<groupId>org.jdom</groupId>
+			<artifactId>com.springsource.org.jdom</artifactId>
 			<scope>test</scope>
 		</dependency>
 		<dependency>
@@ -87,15 +87,8 @@
 			<scope>test</scope>
 		</dependency>
 		<dependency>
-			<groupId>com.sun.xml.bind</groupId>
-			<artifactId>jaxb-impl</artifactId>
-                        <version>${jaxb.version}</version>
-			<optional>true</optional>
-		</dependency>
-		<dependency>
 			<groupId>org.jaxen</groupId>
 			<artifactId>com.springsource.org.jaxen</artifactId>
-                        <version>${jaxen.version}</version>
 			<scope>test</scope>
 		</dependency>
 	</dependencies>
diff --git a/scufl2-rdfxml/src/test/java/uk/org/taverna/scufl2/rdfxml/DummyParserTest.java b/scufl2-rdfxml/src/test/java/uk/org/taverna/scufl2/rdfxml/DummyParserTest.java
index a4e4b43..b50c497 100644
--- a/scufl2-rdfxml/src/test/java/uk/org/taverna/scufl2/rdfxml/DummyParserTest.java
+++ b/scufl2-rdfxml/src/test/java/uk/org/taverna/scufl2/rdfxml/DummyParserTest.java
@@ -24,13 +24,12 @@
 	private JAXBContext jaxbContext;
 	private Unmarshaller unmarshaller;
 
-	@SuppressWarnings("unchecked")
+	@SuppressWarnings({ "unchecked", "unused", "rawtypes" })
 	@Test
 	public void parse() throws Exception {
 		URL resource = getClass().getResource("example/workflowBundle.rdf");
 		URI baseUri = resource.toURI();
 
-		@SuppressWarnings("rawtypes")
 		JAXBElement<WorkflowBundleDocument> workflowBundle = (JAXBElement<WorkflowBundleDocument>) unmarshaller
 				.unmarshal(resource);
 		WorkflowBundleDocument bundleDoc = workflowBundle.getValue();
diff --git a/scufl2-rdfxml/src/test/java/uk/org/taverna/scufl2/rdfxml/TestRDFXMLReader.java b/scufl2-rdfxml/src/test/java/uk/org/taverna/scufl2/rdfxml/TestRDFXMLReader.java
index 2349a4c..cca39b3 100644
--- a/scufl2-rdfxml/src/test/java/uk/org/taverna/scufl2/rdfxml/TestRDFXMLReader.java
+++ b/scufl2-rdfxml/src/test/java/uk/org/taverna/scufl2/rdfxml/TestRDFXMLReader.java
@@ -204,6 +204,7 @@
 		new RDFXMLSerializer(workflowBundle).workflowDoc(output,
 				workflowBundle.getMainWorkflow(),
 				URI.create("workflows/HelloWorld.rdf"));
+		@SuppressWarnings("unused")
 		String bundleTxt = new String(output.toByteArray(), "UTF-8");
 //		System.out.println(bundleTxt);
 
diff --git a/scufl2-rdfxml/src/test/java/uk/org/taverna/scufl2/rdfxml/TestResourcesInZip.java b/scufl2-rdfxml/src/test/java/uk/org/taverna/scufl2/rdfxml/TestResourcesInZip.java
index 9770a40..ca1dbd6 100644
--- a/scufl2-rdfxml/src/test/java/uk/org/taverna/scufl2/rdfxml/TestResourcesInZip.java
+++ b/scufl2-rdfxml/src/test/java/uk/org/taverna/scufl2/rdfxml/TestResourcesInZip.java
@@ -1,7 +1,6 @@
 package uk.org.taverna.scufl2.rdfxml;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
 import static uk.org.taverna.scufl2.rdfxml.TestRDFXMLWriter.APPLICATION_VND_TAVERNA_SCUFL2_WORKFLOW_BUNDLE;
 
 import java.io.File;
@@ -18,6 +17,7 @@
 import uk.org.taverna.scufl2.api.io.WorkflowBundleIO;
 import uk.org.taverna.scufl2.ucfpackage.UCFPackage;
 
+@SuppressWarnings("resource")
 public class TestResourcesInZip {
 
 	protected WorkflowBundleIO bundleIO = new WorkflowBundleIO();
diff --git a/scufl2-scufl/pom.xml b/scufl2-scufl/pom.xml
index 923f181..3672d00 100644
--- a/scufl2-scufl/pom.xml
+++ b/scufl2-scufl/pom.xml
@@ -39,7 +39,7 @@
 			</plugin>
 		</plugins>
 	</build>
- 	<dependencies>
+	<dependencies>
 		<dependency>
 			<groupId>${project.groupId}</groupId>
 			<artifactId>scufl2-api</artifactId>
@@ -48,27 +48,22 @@
 		<dependency>
 			<groupId>com.sun.xml.bind</groupId>
 			<artifactId>jaxb-impl</artifactId>
-                        <version>${jaxb.version}</version>
-			<type>jar</type>
 			<optional>true</optional>
 		</dependency>
+
 		<dependency>
 			<groupId>commons-io</groupId>
 			<artifactId>commons-io</artifactId>
-                        <version>${commons.io.version}</version>
-			<type>jar</type>
 			<scope>test</scope>
 		</dependency>
 		<dependency>
-                        <groupId>org.jdom</groupId>
-                        <artifactId>com.springsource.org.jdom</artifactId>
-                        <version>${jdom.version}</version>
+			<groupId>org.jdom</groupId>
+			<artifactId>com.springsource.org.jdom</artifactId>
 			<scope>test</scope>
 		</dependency>
 		<dependency>
 			<groupId>org.jaxen</groupId>
 			<artifactId>com.springsource.org.jaxen</artifactId>
-                        <version>${jaxen.version}</version>
 			<scope>test</scope>
 		</dependency>
 	</dependencies> 
diff --git a/scufl2-t2flow/pom.xml b/scufl2-t2flow/pom.xml
index 6fbc65e..9b78148 100644
--- a/scufl2-t2flow/pom.xml
+++ b/scufl2-t2flow/pom.xml
@@ -88,15 +88,9 @@
 								</pluginExecution>
 								<pluginExecution>
 									<pluginExecutionFilter>
-										<groupId>
-											org.codehaus.mojo
-										</groupId>
-										<artifactId>
-											build-helper-maven-plugin
-										</artifactId>
-										<versionRange>
-											[1.8,)
-										</versionRange>
+										<groupId>org.codehaus.mojo</groupId>
+										<artifactId>build-helper-maven-plugin</artifactId>
+										<versionRange>[1.8,)</versionRange>
 										<goals>
 											<goal>add-source</goal>
 										</goals>
@@ -119,36 +113,30 @@
 			<version>${project.version}</version>
 		</dependency>
 		<dependency>
+			<groupId>com.sun.xml.bind</groupId>
+			<artifactId>jaxb-impl</artifactId>
+			<optional>true</optional>
+		</dependency>
+
+		<dependency>
 			<groupId>${project.groupId}</groupId>
 			<artifactId>scufl2-rdfxml</artifactId>
 			<version>${project.version}</version>
 			<scope>test</scope>
 		</dependency>
-		
-		<dependency>
-			<groupId>com.sun.xml.bind</groupId>
-			<artifactId>jaxb-impl</artifactId>
-                        <version>${jaxb.version}</version>
-			<type>jar</type>
-			<optional>true</optional>
-		</dependency>
 		<dependency>
 			<groupId>commons-io</groupId>
 			<artifactId>commons-io</artifactId>
-                        <version>${commons.io.version}</version>
-			<type>jar</type>
 			<scope>test</scope>
 		</dependency>
 		<dependency>
 			<groupId>org.jdom</groupId>
 			<artifactId>com.springsource.org.jdom</artifactId>
-                        <version>${jdom.version}</version>
 			<scope>test</scope>
 		</dependency>
 		<dependency>
 			<groupId>org.jaxen</groupId>
 			<artifactId>com.springsource.org.jaxen</artifactId>
-                        <version>${jaxen.version}</version>
 			<scope>test</scope>
 		</dependency>
 	</dependencies>
diff --git a/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/MergeParsingTest.java b/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/MergeParsingTest.java
index e44a7fa..65b0e66 100644
--- a/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/MergeParsingTest.java
+++ b/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/MergeParsingTest.java
@@ -22,6 +22,7 @@
 		assertNotNull("Could not find workflow " + MERGE_FUN, wfResource);
 		T2FlowParser parser = new T2FlowParser();
 		parser.setStrict(true);
+		@SuppressWarnings("unused")
 		WorkflowBundle researchObj = parser.parseT2Flow(wfResource.openStream());		
 	}
 	
diff --git a/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestActivityParsing.java b/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestActivityParsing.java
index 7224ef4..f897322 100644
--- a/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestActivityParsing.java
+++ b/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestActivityParsing.java
@@ -6,14 +6,17 @@
 
 import org.junit.Test;
 
+import uk.org.taverna.scufl2.api.common.NamedSet;
 import uk.org.taverna.scufl2.api.common.Scufl2Tools;
+import uk.org.taverna.scufl2.api.configurations.Configuration;
 import uk.org.taverna.scufl2.api.container.WorkflowBundle;
 
+@SuppressWarnings("unused")
 public class TestActivityParsing {
 
     private static final String WF_ALL_ACTIVITIES = "/defaultActivitiesTaverna2.2.t2flow";
-    private static final String WF_AS = "/as.t2flow";
-    private static Scufl2Tools scufl2Tools = new Scufl2Tools();
+	private static final String WF_AS = "/as.t2flow";
+	private static Scufl2Tools scufl2Tools = new Scufl2Tools();
 
     @Test
     public void readSimpleWorkflow() throws Exception {
@@ -25,8 +28,9 @@
         // parser.setStrict(true);
         WorkflowBundle wfBundle = parser
                 .parseT2Flow(wfResource.openStream());
-        // System.out.println(researchObj.getProfiles().iterator().next()
-        // .getConfigurations());
+		NamedSet<Configuration> cfgs = wfBundle.getProfiles().iterator().next()
+				.getConfigurations();
+        // System.out.println(cfgs);
 
     }
     
diff --git a/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestActivityParsingRshell.java b/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestActivityParsingRshell.java
index ea3140a..e2eded6 100644
--- a/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestActivityParsingRshell.java
+++ b/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestActivityParsingRshell.java
@@ -30,6 +30,7 @@
 import uk.org.taverna.scufl2.api.port.OutputActivityPort;
 import uk.org.taverna.scufl2.api.profiles.Profile;
 
+@SuppressWarnings("unused")
 public class TestActivityParsingRshell {
 
 	private static final String WF_RSHELL_2_2 = "/rshell-2-2.t2flow";
diff --git a/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestAnnotationParsing.java b/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestAnnotationParsing.java
index 843572f..68ff93f 100644
--- a/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestAnnotationParsing.java
+++ b/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestAnnotationParsing.java
@@ -14,7 +14,6 @@
 
 import uk.org.taverna.scufl2.api.annotation.Annotation;
 import uk.org.taverna.scufl2.api.annotation.Revision;
-import uk.org.taverna.scufl2.api.common.Scufl2Tools;
 import uk.org.taverna.scufl2.api.common.URITools;
 import uk.org.taverna.scufl2.api.container.WorkflowBundle;
 import uk.org.taverna.scufl2.api.core.Workflow;
@@ -32,8 +31,6 @@
 	private static final String SEMANTIC_ANNOTATIONS = "/semantic_annotations__eclipse.t2flow";
 	
 	
-	private static Scufl2Tools scufl2Tools = new Scufl2Tools();
-
 	private static URITools uriTools = new URITools();
 
 	@Test
diff --git a/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestBeanshellActivityParser.java b/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestBeanshellActivityParser.java
index 6b3a9dc..a97c541 100644
--- a/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestBeanshellActivityParser.java
+++ b/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestBeanshellActivityParser.java
@@ -168,7 +168,10 @@
 		Processor a_c_workflow = wfBundle.getMainWorkflow().getProcessors()
 				.getByName("A_C_workflow");
 		Configuration a_c_config = scufl2Tools
-				.configurationForActivityBoundToProcessor(a_c_workflow, profile);		
+				.configurationForActivityBoundToProcessor(a_c_workflow, profile);
+		assertNotNull(a_c_config);
+		Configuration c2 = a_c_workflow.getActivityConfiguration(profile);
+		assertEquals(a_c_config,c2);
 /* TODO: Update tests
 		PropertyResource a_c_configResource = a_c_config.getJson();
 		
diff --git a/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestFastaWorkflow.java b/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestFastaWorkflow.java
index 4607fb1..5009058 100644
--- a/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestFastaWorkflow.java
+++ b/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestFastaWorkflow.java
@@ -6,7 +6,6 @@
 
 import org.junit.Test;
 
-import uk.org.taverna.scufl2.api.common.Scufl2Tools;
 import uk.org.taverna.scufl2.api.configurations.Configuration;
 import uk.org.taverna.scufl2.api.container.WorkflowBundle;
 import uk.org.taverna.scufl2.api.profiles.Profile;
@@ -18,8 +17,6 @@
     private static final String WF_SIMPLE_FASTA = "/simple_fasta.t2flow";
 
     
-    private static Scufl2Tools scufl2Tools = new Scufl2Tools();
-
     @Test
     public void fastaPscan() throws Exception {
         URL wfResource = getClass().getResource(WF_FASTA_AND_PSCAN);
diff --git a/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestInteractionActivityParser.java b/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestInteractionActivityParser.java
index 741f6d3..0a8b16c 100644
--- a/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestInteractionActivityParser.java
+++ b/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestInteractionActivityParser.java
@@ -4,8 +4,6 @@
 
 import java.net.URL;
 
-import javax.xml.bind.JAXBException;
-
 import static uk.org.taverna.scufl2.translator.t2flow.defaultactivities.InteractionActivityParser.ACTIVITY_URI;
 
 import org.junit.Test;
diff --git a/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestT2FlowTranslator.java b/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestT2FlowTranslator.java
index 3f650c4..d7459cd 100644
--- a/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestT2FlowTranslator.java
+++ b/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/TestT2FlowTranslator.java
@@ -36,6 +36,7 @@
 		assertNotNull("Could not find workflow " + AS_T2FLOW, wfResource);
 		T2FlowParser parser = new T2FlowParser();
 		parser.setStrict(true);
+		@SuppressWarnings("unused")
 		WorkflowBundle bundle = parser.parseT2Flow(wfResource.openStream());
 	}
 	
diff --git a/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/t23activities/TestRESTActivityParser.java b/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/t23activities/TestRESTActivityParser.java
index 4d616bd..cb59eb0 100644
--- a/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/t23activities/TestRESTActivityParser.java
+++ b/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/t23activities/TestRESTActivityParser.java
@@ -1,10 +1,6 @@
 package uk.org.taverna.scufl2.translator.t2flow.t23activities;
 
 import static org.junit.Assert.*;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
 import static uk.org.taverna.scufl2.translator.t2flow.t23activities.RESTActivityParser.ACTIVITY_URI;
 import static uk.org.taverna.scufl2.translator.t2flow.t23activities.RESTActivityParser.HTTP_METHODS_URI;
 import static uk.org.taverna.scufl2.translator.t2flow.t23activities.RESTActivityParser.HTTP_URI;
@@ -37,6 +33,7 @@
 import uk.org.taverna.scufl2.translator.t2flow.T2FlowParser;
 import uk.org.taverna.scufl2.translator.t2flow.T2Parser;
 
+@SuppressWarnings("unused")
 public class TestRESTActivityParser {
 
 	private static Scufl2Tools scufl2Tools = new Scufl2Tools();
diff --git a/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/t23activities/TestXPathActivityParser.java b/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/t23activities/TestXPathActivityParser.java
index cc40483..5c0dc52 100644
--- a/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/t23activities/TestXPathActivityParser.java
+++ b/scufl2-t2flow/src/test/java/uk/org/taverna/scufl2/translator/t2flow/t23activities/TestXPathActivityParser.java
@@ -4,7 +4,6 @@
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.assertNotNull;
-import static uk.org.taverna.scufl2.translator.t2flow.t23activities.XPathActivityParser.ACTIVITY_URI;
 
 import java.net.URL;
 
diff --git a/scufl2-ucfpackage/pom.xml b/scufl2-ucfpackage/pom.xml
index b9ea803..4d7001f 100644
--- a/scufl2-ucfpackage/pom.xml
+++ b/scufl2-ucfpackage/pom.xml
@@ -9,26 +9,25 @@
 	<packaging>bundle</packaging>
 	<name>Taverna Scufl 2 UCF Package</name>
 	<description>Adobe UCF compatible Package API, making a structured ZIP file with manifest</description>
+
 	<dependencies>
 		<dependency>
 			<groupId>commons-io</groupId>
 			<artifactId>commons-io</artifactId>
-                        <version>${commons.io.version}</version>
 			<scope>test</scope>
 		</dependency>
 		<dependency>
-                        <groupId>org.jdom</groupId>
-                        <artifactId>com.springsource.org.jdom</artifactId>
-                        <version>${jdom.version}</version>
+			<groupId>org.jdom</groupId>
+			<artifactId>com.springsource.org.jdom</artifactId>
 			<scope>test</scope>
 		</dependency>
 		<dependency>
 			<groupId>org.jaxen</groupId>
 			<artifactId>com.springsource.org.jaxen</artifactId>
-                        <version>${jaxen.version}</version>
 			<scope>test</scope>
 		</dependency>
 	</dependencies>
+
 	<licenses>
 		<license>
 			<name>GNU Lesser General Public License</name>
@@ -58,14 +57,9 @@
 						<goals>
 							<goal>xjc</goal>
 						</goals>
-						<configuration>                           
-						</configuration>
 					</execution>
 				</executions>
 			</plugin>
 		</plugins>
 	</build>
-
-
-	<!-- -->
 </project>
diff --git a/scufl2-validation-correctness/src/main/java/uk/org/taverna/scufl2/validation/correctness/CorrectnessValidationListener.java b/scufl2-validation-correctness/src/main/java/uk/org/taverna/scufl2/validation/correctness/CorrectnessValidationListener.java
index 9315a4c..72a2010 100644
--- a/scufl2-validation-correctness/src/main/java/uk/org/taverna/scufl2/validation/correctness/CorrectnessValidationListener.java
+++ b/scufl2-validation-correctness/src/main/java/uk/org/taverna/scufl2/validation/correctness/CorrectnessValidationListener.java
@@ -14,7 +14,6 @@
 import uk.org.taverna.scufl2.api.iterationstrategy.IterationStrategyTopNode;
 import uk.org.taverna.scufl2.api.port.AbstractGranularDepthPort;
 import uk.org.taverna.scufl2.api.port.Port;
-import uk.org.taverna.scufl2.validation.ValidationException;
 import uk.org.taverna.scufl2.validation.ValidationReport;
 
 /**
