diff --git a/Kieker.WebGUI/bin/data/Bookstore-Example/Bookstore-Example.kax b/Kieker.WebGUI/bin/data/Bookstore-Example/Bookstore-Example.kax
new file mode 100644
index 0000000000000000000000000000000000000000..69649c9e6725117e53c1a8e11cf8f41b6350464d
--- /dev/null
+++ b/Kieker.WebGUI/bin/data/Bookstore-Example/Bookstore-Example.kax
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="platform:/resource/Kieker/model/AnalysisMetaModel.ecore">
+  <plugins xsi:type="Filter" name="Response Time Filter" classname="kieker.examples.userguide.ch3and4bookstore.MyResponseTimeFilter">
+    <properties name="thresholdNanos" value="1900000"/>
+    <outputPorts name="validResponseTimes" subscribers="//@plugins.1/@inputPorts.0 //@plugins.5/@inputPorts.0"/>
+    <outputPorts name="invalidResponseTimes" subscribers="//@plugins.2/@inputPorts.0 //@plugins.6/@inputPorts.0"/>
+    <inputPorts name="newResponseTime"/>
+  </plugins>
+  <plugins xsi:type="Filter" name="Print valid" classname="kieker.examples.userguide.ch3and4bookstore.MyResponseTimeOutputPrinter">
+    <properties name="validOutput" value="true"/>
+    <inputPorts name="newEvent"/>
+  </plugins>
+  <plugins xsi:type="Filter" name="Print invalid" classname="kieker.examples.userguide.ch3and4bookstore.MyResponseTimeOutputPrinter">
+    <properties name="validOutput" value="false"/>
+    <inputPorts name="newEvent"/>
+  </plugins>
+  <plugins xsi:type="Reader" name="File System Reader" classname="kieker.analysis.plugin.reader.filesystem.FSReader">
+    <properties name="ignoreUnknownRecordTypes" value="false"/>
+    <properties name="inputDirs" value="testdata"/>
+    <outputPorts name="monitoringRecords" subscribers="//@plugins.0/@inputPorts.0 //@plugins.4/@inputPorts.0"/>
+  </plugins>
+  <plugins xsi:type="Filter" name="Counter1" classname="kieker.analysis.plugin.filter.forward.CountingFilter">
+    <outputPorts name="relayedEvents"/>
+    <outputPorts name="currentEventCount"/>
+    <displays name="Counter Display"/>
+    <inputPorts name="inputEvents"/>
+  </plugins>
+  <plugins xsi:type="Filter" name="Counter2" classname="kieker.analysis.plugin.filter.forward.CountingFilter">
+    <outputPorts name="relayedEvents"/>
+    <outputPorts name="currentEventCount"/>
+    <displays name="Counter Display"/>
+    <inputPorts name="inputEvents"/>
+  </plugins>
+  <plugins xsi:type="Filter" name="Counter3" classname="kieker.analysis.plugin.filter.forward.CountingFilter">
+    <outputPorts name="relayedEvents"/>
+    <outputPorts name="currentEventCount"/>
+    <displays name="Counter Display"/>
+    <inputPorts name="inputEvents"/>
+  </plugins>
+  <dependencies filePath="BookstoreApplication.jar"/>
+  <dependencies filePath="kieker-1.6-SNAPSHOT_emf.jar"/>
+  <views name="View" description="No description available.">
+    <displayConnectors name="FS Counter" display="//@plugins.4/@displays.0"/>
+    <displayConnectors name="Valid Counter" display="//@plugins.5/@displays.0"/>
+    <displayConnectors name="Invalid Counter" display="//@plugins.6/@displays.0"/>
+  </views>
+</Project>
diff --git a/Kieker.WebGUI/bin/data/Bookstore-Example/lib/BookstoreApplication.jar b/Kieker.WebGUI/bin/data/Bookstore-Example/lib/BookstoreApplication.jar
new file mode 100644
index 0000000000000000000000000000000000000000..620d8a18d9fd304960034fe0a9e7a61b75478a79
Binary files /dev/null and b/Kieker.WebGUI/bin/data/Bookstore-Example/lib/BookstoreApplication.jar differ
diff --git a/Kieker.WebGUI/bin/data/Bookstore-Example/lib/commons-cli-1.2.jar b/Kieker.WebGUI/bin/data/Bookstore-Example/lib/commons-cli-1.2.jar
new file mode 100644
index 0000000000000000000000000000000000000000..ce4b9fffe40c41669797cd806ac989471b2acd84
Binary files /dev/null and b/Kieker.WebGUI/bin/data/Bookstore-Example/lib/commons-cli-1.2.jar differ
diff --git a/Kieker.WebGUI/bin/data/Bookstore-Example/lib/kieker-1.6-SNAPSHOT_emf.jar b/Kieker.WebGUI/bin/data/Bookstore-Example/lib/kieker-1.6-SNAPSHOT_emf.jar
new file mode 100644
index 0000000000000000000000000000000000000000..3fb1acc5d90fdc62af80378816bb76361ab10491
Binary files /dev/null and b/Kieker.WebGUI/bin/data/Bookstore-Example/lib/kieker-1.6-SNAPSHOT_emf.jar differ
diff --git a/Kieker.WebGUI/bin/data/Bookstore-Example/testdata/kieker-20120801-161311867-UTC--000-Thread-2.dat b/Kieker.WebGUI/bin/data/Bookstore-Example/testdata/kieker-20120801-161311867-UTC--000-Thread-2.dat
new file mode 100644
index 0000000000000000000000000000000000000000..dd8f83cfac150171b1e5da44b51f8899ea9cbf6b
--- /dev/null
+++ b/Kieker.WebGUI/bin/data/Bookstore-Example/testdata/kieker-20120801-161311867-UTC--000-Thread-2.dat
@@ -0,0 +1,10 @@
+$0;1343837591866228299;mySimpleKiekerExample.bookstoreTracing.Catalog;getBook(..);1386243
+$0;1343837591869371962;mySimpleKiekerExample.bookstoreTracing.Catalog;getBook(..);2830431
+$0;1343837591870666221;mySimpleKiekerExample.bookstoreTracing.Catalog;getBook(..);1218889
+$0;1343837591872661097;mySimpleKiekerExample.bookstoreTracing.Catalog;getBook(..);1958812
+$0;1343837591874666509;mySimpleKiekerExample.bookstoreTracing.Catalog;getBook(..);1936931
+$0;1343837591876674758;mySimpleKiekerExample.bookstoreTracing.Catalog;getBook(..);1971373
+$0;1343837591878649778;mySimpleKiekerExample.bookstoreTracing.Catalog;getBook(..);1901271
+$0;1343837591880656811;mySimpleKiekerExample.bookstoreTracing.Catalog;getBook(..);1981505
+$0;1343837591882672354;mySimpleKiekerExample.bookstoreTracing.Catalog;getBook(..);1956786
+$0;1343837591885871936;mySimpleKiekerExample.bookstoreTracing.Catalog;getBook(..);3152983
diff --git a/Kieker.WebGUI/bin/data/Bookstore-Example/testdata/kieker.map b/Kieker.WebGUI/bin/data/Bookstore-Example/testdata/kieker.map
new file mode 100644
index 0000000000000000000000000000000000000000..ccd32beb18de9a4ba4b1624b88d9691f242dc5ff
--- /dev/null
+++ b/Kieker.WebGUI/bin/data/Bookstore-Example/testdata/kieker.map
@@ -0,0 +1 @@
+$0=kieker.examples.userguide.ch3and4bookstore.MyResponseTimeRecord
diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentAnalysisEditorBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentAnalysisEditorBean.java
index f2a9478e64d212db5497a2e81a9c0d8e3449e3e3..43854f8d8f152667dc51f86f107a6c844759b6c3 100644
--- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentAnalysisEditorBean.java
+++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentAnalysisEditorBean.java
@@ -576,24 +576,24 @@ public final class CurrentAnalysisEditorBean {
 				}
 				return true;
 			} catch (final InstantiationException ex) {
-				CurrentAnalysisEditorBean.LOG.error("An errcor occured while loading the displays of the plugin.", ex);
-				CurrentAnalysisEditorBean.showMessage(FacesMessage.SEVERITY_ERROR, "An errcor occured while loading the displays of the plugin.");
+				CurrentAnalysisEditorBean.LOG.error("An error occured while loading the displays of the plugin.", ex);
+				CurrentAnalysisEditorBean.showMessage(FacesMessage.SEVERITY_ERROR, "An error occured while loading the displays of the plugin.");
 				return false;
 			} catch (final IllegalAccessException ex) {
-				CurrentAnalysisEditorBean.LOG.error("An errcor occured while loading the displays of the plugin.", ex);
-				CurrentAnalysisEditorBean.showMessage(FacesMessage.SEVERITY_ERROR, "An errcor occured while loading the displays of the plugin.");
+				CurrentAnalysisEditorBean.LOG.error("An error occured while loading the displays of the plugin.", ex);
+				CurrentAnalysisEditorBean.showMessage(FacesMessage.SEVERITY_ERROR, "An error occured while loading the displays of the plugin.");
 				return false;
 			} catch (final InvocationTargetException ex) {
-				CurrentAnalysisEditorBean.LOG.error("An errcor occured while loading the displays of the plugin.", ex);
-				CurrentAnalysisEditorBean.showMessage(FacesMessage.SEVERITY_ERROR, "An errcor occured while loading the displays of the plugin.");
+				CurrentAnalysisEditorBean.LOG.error("An error occured while loading the displays of the plugin.", ex);
+				CurrentAnalysisEditorBean.showMessage(FacesMessage.SEVERITY_ERROR, "An error occured while loading the displays of the plugin.");
 				return false;
 			} catch (final NoSuchMethodException ex) {
-				CurrentAnalysisEditorBean.LOG.error("An errcor occured while loading the displays of the plugin.", ex);
-				CurrentAnalysisEditorBean.showMessage(FacesMessage.SEVERITY_ERROR, "An errcor occured while loading the displays of the plugin.");
+				CurrentAnalysisEditorBean.LOG.error("An error occured while loading the displays of the plugin.", ex);
+				CurrentAnalysisEditorBean.showMessage(FacesMessage.SEVERITY_ERROR, "An error occured while loading the displays of the plugin.");
 				return false;
 			} catch (final NoClassDefFoundError ex) {
-				CurrentAnalysisEditorBean.LOG.error("An errcor occured while loading the displays of the plugin.", ex);
-				CurrentAnalysisEditorBean.showMessage(FacesMessage.SEVERITY_ERROR, "An errcor occured while loading the displays of the plugin.");
+				CurrentAnalysisEditorBean.LOG.error("An error occured while loading the displays of the plugin.", ex);
+				CurrentAnalysisEditorBean.showMessage(FacesMessage.SEVERITY_ERROR, "An error occured while loading the displays of the plugin.");
 				return false;
 			}
 		}
diff --git a/Kieker.WebGUI/src/main/webapp/Login.xhtml b/Kieker.WebGUI/src/main/webapp/Login.xhtml
index 3b6386ceb645fca5bc68dc1caab09d29458617dd..7cfc00badead376680f0ef5af2f3ec88eed3b1cd 100644
--- a/Kieker.WebGUI/src/main/webapp/Login.xhtml
+++ b/Kieker.WebGUI/src/main/webapp/Login.xhtml
@@ -3,7 +3,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml"
       xmlns:h="http://java.sun.com/jsf/html"
       xmlns:p="http://primefaces.org/ui">
-    
+
     <h:head>
         <title>Kieker.WebGUI</title>
         <link rel="stylesheet" type="text/css" href="../css/Common.css" />
@@ -11,30 +11,34 @@
     </h:head>
 
     <h:body onload="growlComp.renderMessage({summary:'Welcome to the Kieker.WebGUI', detail: 'This is an early alpha version of the Kieker Web GUI. Therefore it may contain bugs and some functionality may have not been implemented yet. Just click &quot;Login&quot; to continue.', severity: 'info'})">
-        <div align="center">
+        <div align="center" >
             <img src="../img/kieker-header.jpg"/>
         </div>
-        <br/>
-        <p:spacer width="0" height="100"/>
+        <div align="center" class="stretch">
+            <div class="custom-background">
+                <br/>
+                <p:spacer width="0" height="100"/>
 
-        <!-- The following is the login form -->
-        <h:form>  
-            <div align="center">
-                <p:panel header="Welcome to the Kieker.WebGUI" styleClass="login-panel">
-                    <h:panelGrid columnClasses="col1 , col2" styleClass="grid" columns="2" cellpadding="5">  
-                        <h:outputLabel for="username" value="Username:" />  
-                        <p:inputText styleClass="input" id="username" required="true" value="#{userBean.userName}" label="username"/>  
+                <!-- The following is the login form -->
+                <h:form>  
+                    <div class="stretch" align="center">
+                        <p:panel header="Welcome to the Kieker.WebGUI" styleClass="login-panel">
+                            <h:panelGrid columnClasses="col1 , col2" styleClass="grid" columns="2" cellpadding="5">  
+                                <h:outputLabel for="username" value="Username:" />  
+                                <p:inputText styleClass="input" id="username" required="true" value="#{userBean.userName}" label="username"/>  
 
-                        <h:outputLabel for="password" value="Password:" />  
-                        <p:password styleClass="input" id="password" required="false" label="password" />  
-                    </h:panelGrid>  
-                    <hr/>
-                    <div align="right">
-                        <p:commandButton value="Login" ajax="false" action="#{userBean.login}" />
+                                <h:outputLabel for="password" value="Password:" />  
+                                <p:password styleClass="input" id="password" required="false" label="password" />  
+                            </h:panelGrid>  
+                            <hr/>
+                            <div align="right">
+                                <p:commandButton value="Login" ajax="false" action="#{userBean.login}" />
+                            </div>
+                        </p:panel>
+                        <p:growl sticky="true" autoUpdate="true" widgetVar="growlComp"/>
                     </div>
-                </p:panel>
-                <p:growl sticky="true" autoUpdate="true" widgetVar="growlComp"/>
+                </h:form>  
             </div>
-        </h:form>  
+        </div>
     </h:body>
 </html>
\ No newline at end of file
diff --git a/Kieker.WebGUI/src/main/webapp/css/Login.css b/Kieker.WebGUI/src/main/webapp/css/Login.css
index 8d724d30b9594748626d72a83221950850fd1a91..979aa28d9312d53fd859cae40500b1b87dcd13b6 100644
--- a/Kieker.WebGUI/src/main/webapp/css/Login.css
+++ b/Kieker.WebGUI/src/main/webapp/css/Login.css
@@ -21,7 +21,7 @@
 }
 
 .login-panel {
-    width: 30%;
+    width: 50%;
     text-align: center
 }
 
@@ -33,3 +33,20 @@
     width: 400px;
     text-align: justify;
 }
+
+html {
+    height: 100%;
+}
+body {
+    background-color: #f1f1f1;
+    margin: 0;
+    padding: 0;
+    height: 100%;
+}
+div.stretch {
+    background: #ffffff;
+    padding: 0 0 0 0;
+    margin: auto;
+    width: 1000px;
+    min-height: 100%;
+}
\ No newline at end of file