diff --git a/src/main/java/teetime/framework/Analysis.java b/src/main/java/teetime/framework/Analysis.java
index 5319ef584a478c6514e807c6723b45a7e64d7aa5..32cf310a3665366b9ef2497834290659f854093d 100644
--- a/src/main/java/teetime/framework/Analysis.java
+++ b/src/main/java/teetime/framework/Analysis.java
@@ -30,8 +30,6 @@ public class Analysis implements UncaughtExceptionHandler {
 
 	private final Collection<Pair<Thread, Throwable>> exceptions = new ConcurrentLinkedQueue<Pair<Thread, Throwable>>();
 
-	private boolean initExecuted = false;
-
 	public Analysis(final AnalysisConfiguration configuration) {
 		this.configuration = configuration;
 	}
@@ -40,7 +38,6 @@ public class Analysis implements UncaughtExceptionHandler {
 	 * This initializes Analysis and needs to be run right before starting it.
 	 */
 	public void init() {
-		initExecuted = true;
 		final List<Stage> threadableStageJobs = this.configuration.getThreadableStageJobs();
 		for (Stage stage : threadableStageJobs) {
 			final Thread thread = new Thread(new RunnableStage(stage));
@@ -67,9 +64,6 @@ public class Analysis implements UncaughtExceptionHandler {
 	 * @return a collection of thread/throwable pairs
 	 */
 	public Collection<Pair<Thread, Throwable>> start() {
-		if (!initExecuted) {
-			LOGGER.error("init() not executed before starting the analysis");
-		}
 		// start analysis
 		startThreads(this.consumerThreads);
 		startThreads(this.finiteProducerThreads);
diff --git a/src/main/java/teetime/framework/package-info.java b/src/main/java/teetime/framework/package-info.java
new file mode 100644
index 0000000000000000000000000000000000000000..c53e8f6083a67843705103946e280ac3cc661883
--- /dev/null
+++ b/src/main/java/teetime/framework/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * Contains the implementation of the TeeTime framework.
+ */
+package teetime.framework;
\ No newline at end of file
diff --git a/src/main/java/teetime/framework/pipe/package-info.java b/src/main/java/teetime/framework/pipe/package-info.java
new file mode 100644
index 0000000000000000000000000000000000000000..00bd2bc3490445badccc976d01287c1c440ecb25
--- /dev/null
+++ b/src/main/java/teetime/framework/pipe/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * Contains all pipes related classes, such as factories and pre-defined pipes.
+ */
+package teetime.framework.pipe;
\ No newline at end of file
diff --git a/src/main/java/teetime/framework/signal/package-info.java b/src/main/java/teetime/framework/signal/package-info.java
new file mode 100644
index 0000000000000000000000000000000000000000..d5e1fc50ceb4698a9bdb0ea43c71034062a58c93
--- /dev/null
+++ b/src/main/java/teetime/framework/signal/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * Contains the signals that are used within the framework.
+ */
+package teetime.framework.signal;
\ No newline at end of file
diff --git a/src/main/java/teetime/stage/package-info.java b/src/main/java/teetime/stage/package-info.java
new file mode 100644
index 0000000000000000000000000000000000000000..776c708bee3ddaa6edbb3026664284eafda37d13
--- /dev/null
+++ b/src/main/java/teetime/stage/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * Contains a set of pre-defined stages, which are ready-to-go and can be used for analysis configuration.
+ */
+package teetime.stage;
\ No newline at end of file
diff --git a/src/main/java/teetime/util/package-info.java b/src/main/java/teetime/util/package-info.java
new file mode 100644
index 0000000000000000000000000000000000000000..b4d79541c7a72b365d6d1fb537606e14eba95827
--- /dev/null
+++ b/src/main/java/teetime/util/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * Contains a set of utility classes, which are used by the TeeTime framework.
+ */
+package teetime.util;
\ No newline at end of file