diff --git a/.settings/edu.umd.cs.findbugs.core.prefs b/.settings/edu.umd.cs.findbugs.core.prefs
index d38ed3facd622fe253aa7e594d314a2ba62183c9..ebe54a3dbe5912993c72ef85f3709b50138906f7 100644
--- a/.settings/edu.umd.cs.findbugs.core.prefs
+++ b/.settings/edu.umd.cs.findbugs.core.prefs
@@ -1,5 +1,5 @@
 #FindBugs User Preferences
-#Thu Apr 30 18:04:06 CEST 2015
+#Mon May 04 12:38:24 CEST 2015
 detector_threshold=3
 effort=max
 excludefilter0=.fbExcludeFilterFile|true
diff --git a/src/main/java/teetime/framework/pipe/IMonitorablePipe.java b/src/main/java/teetime/framework/pipe/IMonitorablePipe.java
index a0c6a245900dfd51cbaa96ecee350aa584511750..12bec8a427ef7cbdfab0426dcf91a2b0bd459b71 100644
--- a/src/main/java/teetime/framework/pipe/IMonitorablePipe.java
+++ b/src/main/java/teetime/framework/pipe/IMonitorablePipe.java
@@ -26,4 +26,10 @@ public interface IMonitorablePipe {
 	long getPushThroughput();
 
 	long getPullThroughput();
+
+	/**
+	 *
+	 * @return the number of pauses of the pushing stage
+	 */
+	int getNumWaits();
 }
diff --git a/src/main/java/teetime/framework/pipe/SpScPipe.java b/src/main/java/teetime/framework/pipe/SpScPipe.java
index ab91207d92b9ea4de137d57b13384e07026a7350..4c1e52ae7edb9fce65bfe349314afb5b379e4f34 100644
--- a/src/main/java/teetime/framework/pipe/SpScPipe.java
+++ b/src/main/java/teetime/framework/pipe/SpScPipe.java
@@ -35,7 +35,7 @@ final class SpScPipe extends AbstractInterThreadPipe implements IMonitorablePipe
 	}
 
 	@Deprecated
-	public static <T> SpScPipe connect(final OutputPort<? extends T> sourcePort, final InputPort<T> targetPort, final int capacity) {
+	public static <T> IMonitorablePipe connect(final OutputPort<? extends T> sourcePort, final InputPort<T> targetPort, final int capacity) {
 		final SpScPipe pipe = new SpScPipe(sourcePort, targetPort, capacity);
 		pipe.connectPorts(sourcePort, targetPort);
 		return pipe;
@@ -81,8 +81,8 @@ final class SpScPipe extends AbstractInterThreadPipe implements IMonitorablePipe
 		return this.queue.size();
 	}
 
-	// BETTER find a solution w/o any thread-safe code in this stage
-	public synchronized int getNumWaits() {
+	@Override
+	public int getNumWaits() {
 		return this.numWaits;
 	}
 
diff --git a/src/main/java/teetime/util/CyclicListIterator.java b/src/main/java/teetime/util/CyclicListIterator.java
index 539659429b806b681c9675fec204f03317cc02f1..1579d5d3c7f2966800fa2e9bd791e046037fb73c 100644
--- a/src/main/java/teetime/util/CyclicListIterator.java
+++ b/src/main/java/teetime/util/CyclicListIterator.java
@@ -27,13 +27,13 @@ import java.util.List;
  */
 public final class CyclicListIterator<T> implements Iterator<T> {
 
-	private final List<T> list;
+	private final List<T> elements;
 	// private Iterator<T> iterator;
 
 	private int currentIndex = 0;
 
-	public CyclicListIterator(final List<T> list) {
-		this.list = list;
+	public CyclicListIterator(final List<T> elements) {
+		this.elements = elements;
 		// this.iterator = this.list.iterator();
 	}
 
@@ -53,7 +53,7 @@ public final class CyclicListIterator<T> implements Iterator<T> {
 		// <li>an index overflow (then restart from index 0), or
 		// <li>an add() or a remove(), so update the index
 		this.currentIndex = this.getCurrentIndex();
-		final T element = this.list.get(this.currentIndex);
+		final T element = this.elements.get(this.currentIndex);
 		this.currentIndex++;
 		return element;
 	}
@@ -62,11 +62,11 @@ public final class CyclicListIterator<T> implements Iterator<T> {
 	public void remove() {
 		// this.iterator.remove();
 		this.currentIndex = this.getCurrentIndex();
-		this.list.remove(this.currentIndex);
+		this.elements.remove(this.currentIndex);
 	}
 
 	private int getCurrentIndex() {
-		return this.currentIndex % this.list.size();
+		return this.currentIndex % this.elements.size();
 	}
 
 }
diff --git a/src/main/java/teetime/util/ListUtil.java b/src/main/java/teetime/util/ListUtil.java
index 6ae6fea4836779395c49fca13c5a537a54a79c53..2e4074c5199323f0e0d2f178181fbeb760484842 100644
--- a/src/main/java/teetime/util/ListUtil.java
+++ b/src/main/java/teetime/util/ListUtil.java
@@ -25,12 +25,12 @@ public final class ListUtil {
 	}
 
 	public static <T> List<T> merge(final List<List<T>> listOfLists) {
-		List<T> resultList = listOfLists.get(0);
+		List<T> mergedElements = listOfLists.get(0);
 		for (int i = 1; i < listOfLists.size(); i++) {
-			Collection<? extends T> timestampObjectList = listOfLists.get(i);
-			resultList.addAll(timestampObjectList);
+			Collection<? extends T> elements = listOfLists.get(i);
+			mergedElements.addAll(elements);
 		}
-		return resultList;
+		return mergedElements;
 	}
 
 	public static <T> List<T> removeFirstHalfElements(final List<T> list) {
diff --git a/src/test/java/util/test/AbstractProfiledPerformanceAssertion.java b/src/main/java/teetime/util/test/framework/AbstractProfiledPerformanceAssertion.java
similarity index 95%
rename from src/test/java/util/test/AbstractProfiledPerformanceAssertion.java
rename to src/main/java/teetime/util/test/framework/AbstractProfiledPerformanceAssertion.java
index e5981c58b1b72c8ba6fa2953954f16b86a861acf..60afa855fee84d54148bc44569b5ff2e9ccbd1f1 100644
--- a/src/test/java/util/test/AbstractProfiledPerformanceAssertion.java
+++ b/src/main/java/teetime/util/test/framework/AbstractProfiledPerformanceAssertion.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package util.test;
+package teetime.util.test.framework;
 
 public abstract class AbstractProfiledPerformanceAssertion {
 
diff --git a/src/test/java/util/test/MeasurementRepository.java b/src/main/java/teetime/util/test/framework/MeasurementRepository.java
similarity index 96%
rename from src/test/java/util/test/MeasurementRepository.java
rename to src/main/java/teetime/util/test/framework/MeasurementRepository.java
index e19fe7a6db4e2fc9ff61f01f293d0e8714166881..be3552b876a1a3317d91cadae0576d941e8fed43 100644
--- a/src/test/java/util/test/MeasurementRepository.java
+++ b/src/main/java/teetime/util/test/framework/MeasurementRepository.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package util.test;
+package teetime.util.test.framework;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/src/test/java/util/test/PerformanceCheckProfileRepository.java b/src/main/java/teetime/util/test/framework/PerformanceCheckProfileRepository.java
similarity index 98%
rename from src/test/java/util/test/PerformanceCheckProfileRepository.java
rename to src/main/java/teetime/util/test/framework/PerformanceCheckProfileRepository.java
index fbefc401c0addc4529f1a21ef1c0acc8ed4c3cc6..a3ee2c7195b066e6695784ed2d3d4ce0b91b9868 100644
--- a/src/test/java/util/test/PerformanceCheckProfileRepository.java
+++ b/src/main/java/teetime/util/test/framework/PerformanceCheckProfileRepository.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package util.test;
+package teetime.util.test.framework;
 
 import java.net.InetAddress;
 import java.net.UnknownHostException;
diff --git a/src/test/java/util/test/PerformanceTest.java b/src/main/java/teetime/util/test/framework/PerformanceTest.java
similarity index 98%
rename from src/test/java/util/test/PerformanceTest.java
rename to src/main/java/teetime/util/test/framework/PerformanceTest.java
index 0bb3c3fe23251adc170402824d5ea7eeb4e11e8b..813ffc693400e71e5e3b12039380c31d87258e32 100644
--- a/src/test/java/util/test/PerformanceTest.java
+++ b/src/main/java/teetime/util/test/framework/PerformanceTest.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package util.test;
+package teetime.util.test.framework;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/src/site/markdown/wiki b/src/site/markdown/wiki
index bb53dfd7de974a433a7b96b0b65f4aacb8da3df3..0e4474577e1f49bc96e734c286b2d9e0363895e8 160000
--- a/src/site/markdown/wiki
+++ b/src/site/markdown/wiki
@@ -1 +1 @@
-Subproject commit bb53dfd7de974a433a7b96b0b65f4aacb8da3df3
+Subproject commit 0e4474577e1f49bc96e734c286b2d9e0363895e8
diff --git a/src/test/java/teetime/framework/pipe/SingleElementPipeTest.java b/src/test/java/teetime/framework/pipe/SingleElementPipeTest.java
index 415ef503f902df3eee2276ed29de7445bb0da852..07b869fa33a1293e363364e03c98e49b3255b4f6 100644
--- a/src/test/java/teetime/framework/pipe/SingleElementPipeTest.java
+++ b/src/test/java/teetime/framework/pipe/SingleElementPipeTest.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (C) 2015 Christian Wulf, Nelson Tavares de Sousa (http://teetime.sourceforge.net)
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *         http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package teetime.framework.pipe;
 
 import static org.junit.Assert.assertFalse;