diff --git a/.buildinfo b/.buildinfo
index 9a267b9..362793e 100644
--- a/.buildinfo
+++ b/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: d5d62b3de4b8dd23755bbe727a0ef169
+config: 514e437c70810c90b41749d8dee949ad
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/_sources/authors.txt b/_sources/authors.txt
index 2c70d61..d6ed7bd 100644
--- a/_sources/authors.txt
+++ b/_sources/authors.txt
@@ -1,3 +1,21 @@
+.. ..
+
+	<!--- Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You 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. 
+	--->
+
 Authors
 -------
 
diff --git a/_sources/changelog.txt b/_sources/changelog.txt
index 09929fe..3b77ce5 100644
--- a/_sources/changelog.txt
+++ b/_sources/changelog.txt
@@ -1 +1,19 @@
+.. ..
+
+	<!--- Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You 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. 
+	--->
+
 .. include:: ../../CHANGELOG.rst
diff --git a/_sources/contributing.txt b/_sources/contributing.txt
index 8cb3146..f08e0b3 100644
--- a/_sources/contributing.txt
+++ b/_sources/contributing.txt
@@ -1 +1,19 @@
+.. ..
+
+	<!--- Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You 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. 
+	--->
+
 .. include:: ../../CONTRIBUTING.rst
\ No newline at end of file
diff --git a/_sources/index.txt b/_sources/index.txt
index e6cf542..87dc6aa 100644
--- a/_sources/index.txt
+++ b/_sources/index.txt
@@ -1,3 +1,21 @@
+.. ..
+
+	<!--- Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You 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. 
+	--->
+
 .. include:: ../../README.rst
 
 .. include:: contents.rst.inc
diff --git a/_sources/installation.txt b/_sources/installation.txt
index 4717cd0..e59a5a9 100644
--- a/_sources/installation.txt
+++ b/_sources/installation.txt
@@ -1,3 +1,21 @@
+.. ..
+
+	<!--- Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You 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. 
+	--->
+
 .. _installation:
 
 Installation Guide
@@ -10,16 +28,16 @@
 * PyQt5, version 5.3 or above
 * pip3, see requirements.txt
 
-Installing UserAle
-------------------
+Installing Apache UserALE.PyQt5
+-------------------------------
 
-The first step is to install UserAle. First, checkout the latest version of UserAle from our Github repository.
+The first step is to install Apache UserALE.PyQt5. First, checkout the latest version of Apache UserALE.PyQt5 from our Git repository.
 
 ::
 
-	$ git clone https://github.com/draperlaboratory/userale.pyqt5.git
+	$ git clone https://git-wip-us.apache.org/repos/asf/incubator-senssoft-userale-pyqt5.git
 
-UserAle is a python3 project, so it can be installed like any other python library. Several operating systems (Mac OS X, Major Versions of Linux/BSD) have Python3 pre-installed, so you should just have to run
+Apache UserALE.PyQt5 is a python3 project, so it can be installed like any other python library. Several operating systems (Mac OS X, Major Versions of Linux/BSD) have Python3 pre-installed, so you should just have to run
 
 ::
 	
@@ -31,23 +49,23 @@
 
     $ pip3 install userale
 
-Users are strongly recommended to install UserAle in a virtualenv. Instructions to setup an virtual environment will be explained below.
+Users are strongly recommended to install Apache UserALE.PyQt5 in a virtualenv. Instructions to setup an virtual environment will be explained below.
 
 .. note ::
 
-	UserAle.pyqt5 requires that PyQt5 and the Qt5 bindings has been installed. Instructions to install PyQt5 and Qt5 in a virtual environment will be left to the user.
+	Apache UserALE.PyQt5 requires that PyQt5 and the Qt5 bindings has been installed. Instructions to install PyQt5 and Qt5 in a virtual environment will be left to the user.
 	
 .. note ::
 
 	When the package is installed via ``easy_install3`` or ``pip3`` this function will be bound to the ``userale`` executable in the Python installation's ``bin`` directory (on Windows - the ``Scripts`` directory).
 
-Installing UserAle in an Virtual Environment
---------------------------------------------
+Installing Apache UserALE.PyQt5 in an Virtual Environment
+---------------------------------------------------------
 
 There are multiple ways to create virtual environments for a Python3 application. virtualenv is a one of those tools to create isolated Python environments. virtualenv creates a folder which contains all the necessary executables to use the packages that the UserAle project would need. 
 
 
-Start by changing directory into the root of UserAle's project directory, and then use the virtualenv command-line tool to create a new environment:
+Start by changing directory into the root of Apache UserALE.PyQt5's project directory, and then use the virtualenv command-line tool to create a new environment:
 
 ::
 	
@@ -71,7 +89,7 @@
 
 ::
 
-	$ env/bin/pip3 -r requirements.txt
+	$ env/bin/pip3 install -r requirements.txt
 
 To build the source code and run all unit tests.
 
@@ -92,7 +110,13 @@
 
 However, if you want to manully build the documentation, the instructions are below.
 
-To build UserAle's documentation, create a directory at the root level of ``/userale.pyqt5`` called userale.pyqt5-docs.
+First, install the documentation dependencies:
+
+::
+
+	$ env/bin/pip3 install -r doc_requirements.txt
+
+To build Apache UserALE.PyQt5's documentation, create a directory at the root level of ``/userale.pyqt5`` called userale.pyqt5-docs.
 
 ::
 
diff --git a/_sources/license.txt b/_sources/license.txt
index d31cf73..381ed53 100644
--- a/_sources/license.txt
+++ b/_sources/license.txt
@@ -1,13 +1,32 @@
+.. ..
+
+	<!--- Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You 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. 
+	--->
+
 License
 =======
 
-Copyright 2016 The Charles Stark Draper Laboratory, Inc.
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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
 
-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
+  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,
diff --git a/_sources/quickstart.txt b/_sources/quickstart.txt
index 1a8f8a2..79d467d 100644
--- a/_sources/quickstart.txt
+++ b/_sources/quickstart.txt
@@ -1,14 +1,32 @@
+.. ..
+
+	<!--- Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You 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. 
+	--->
+
 .. _quickstart:
 
 Quickstart Guide
 ================
 
-Instrumenting Your Application Globally with UserAle
-----------------------------------------------------
+Instrumenting Your Application Globally with Apache UserALE.PyQt5
+-----------------------------------------------------------------
 
-It's very simple to instrument a PyQt5 application with UserAle. Simply import the UserAle library and register it with your application. 
+It's very simple to instrument a PyQt5 application with Apache UserALE.PyQt5. Simply import the Apache UserALE.PyQt5 library and register it with your application. 
 
-Below is an example PyQt5 application taken from ZetCode PyQt5 tutorial instrumented with UserAle.
+Below is an example PyQt5 application taken from ZetCode PyQt5 tutorial instrumented with Apache UserALE.PyQt5.
 
 ::
 
@@ -38,7 +56,7 @@
 	if __name__ == '__main__':
 	    app = QApplication(sys.argv)    
 	    ex = TestApplication()
-	    # Initiate UserAle
+	    # Initiate Apache UserALE.PyQt5
 	    ale = Ale (output="mouse.log", user="testUser", toolversion="0.0.1")
 	    # install globally
 	    app.installEventFilter (ale)
@@ -46,7 +64,7 @@
 	    sys.exit (app.exec_())
 
 Before we enter the mainloop of the application, UserAle needs to register the application to be instrumented. 
-Simply instantiate UserAle and install it as an event filter in your application. 
+Simply instantiate Apache UserALE.PyQt5 and install it as an event filter in your application. 
 
 ::
 
@@ -56,9 +74,9 @@
 	app.installEventFilter (ale)
 
 
-Instrumenting Your Application Manually with UserAle
-----------------------------------------------------
+Instrumenting Your Application Manually with Apache UserALE.PyQt5
+-----------------------------------------------------------------
 
 .. todo::
 	
-	Write guidelines for instrumenting specific PyQt5 Widgets with UserAle.
\ No newline at end of file
+	Write guidelines for instrumenting specific PyQt5 Widgets with Apache UserALE.PyQt5.
\ No newline at end of file
diff --git a/_sources/userale.txt b/_sources/userale.txt
index ade0cab..f3f37df 100644
--- a/_sources/userale.txt
+++ b/_sources/userale.txt
@@ -1,12 +1,30 @@
+.. ..
+
+	<!--- Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You 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. 
+	--->
+
 .. _api:
 
 
 ALE Library
 ===========
-UserALE intercepts all application events by letting the developer install an event filter in their PyQT5 application to generate detailed user logs. UserAle does not capture system level logs or events generated by a non-user (a.k.a. system and signals sent between QObjects).
+Apache UserALE.PyQt5 intercepts all application events by letting the developer install an event filter in their PyQt5 application to generate detailed user logs. Apache UserALE.PyQt5 does not capture system level logs or events generated by a non-user (a.k.a. system and signals sent between QObjects).
 
-UserAle
--------
+Apache UserALE.PyQt5
+--------------------
 
 .. automodule:: userale.ale
     :members:
diff --git a/authors.html b/authors.html
index 5bdc7af..67251d6 100644
--- a/authors.html
+++ b/authors.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Authors &mdash; UserAle 1.0.4 documentation</title>
+  <title>Authors &mdash; Apache UserALE.PyQt5 0.1.5 documentation</title>
   
 
   
@@ -30,8 +30,8 @@
   
 
   
-    <link rel="top" title="UserAle 1.0.4 documentation" href="index.html"/>
-        <link rel="next" title="Contributing to UserAle.pyqt5" href="contributing.html"/>
+    <link rel="top" title="Apache UserALE.PyQt5 0.1.5 documentation" href="index.html"/>
+        <link rel="next" title="Contributing to Apache UserALE.PyQt5" href="contributing.html"/>
         <link rel="prev" title="ALE Library" href="userale.html"/> 
 
   
@@ -50,7 +50,7 @@
           
 
           
-            <a href="index.html" class="icon icon-home"> UserAle
+            <a href="index.html" class="icon icon-home"> Apache UserALE.PyQt5
           
 
           
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                1.0.4
+                0.1.5
               </div>
             
           
@@ -94,7 +94,7 @@
 <li class="toctree-l2"><a class="reference internal" href="#additional-staff">Additional Staff</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to UserAle.pyqt5</a></li>
+<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to Apache UserALE.PyQt5</a></li>
 <li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog</a></li>
 <li class="toctree-l1"><a class="reference internal" href="license.html">License</a></li>
 </ul>
@@ -110,7 +110,7 @@
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
         <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="index.html">UserAle</a>
+        <a href="index.html">Apache UserALE.PyQt5</a>
       </nav>
 
 
@@ -141,20 +141,20 @@
             
   <div class="section" id="authors">
 <h1>Authors<a class="headerlink" href="#authors" title="Permalink to this headline">¶</a></h1>
-<p id="id1">UserAle.pyqt5 is written and maintained by Draper and various contributors:</p>
+<p id="id1">Apache UserALE.PyQt5 is written and maintained by Draper and various contributors:</p>
 <div class="section" id="development-lead">
 <h2>Development Lead<a class="headerlink" href="#development-lead" title="Permalink to this headline">¶</a></h2>
 <ul class="simple">
-<li>Michelle Beard &lt;<a class="reference external" href="mailto:mbeard&#37;&#52;&#48;draper&#46;com">mbeard<span>&#64;</span>draper<span>&#46;</span>com</a>&gt;</li>
+<li>Michelle Beard &lt;<a class="reference external" href="mailto:msbeard&#37;&#52;&#48;apache&#46;org">msbeard<span>&#64;</span>apache<span>&#46;</span>org</a>&gt;</li>
 </ul>
 </div>
 <div class="section" id="additional-staff">
 <h2>Additional Staff<a class="headerlink" href="#additional-staff" title="Permalink to this headline">¶</a></h2>
 <ul class="simple">
-<li>Laura Mariano &lt;<a class="reference external" href="mailto:lmariano&#37;&#52;&#48;draper&#46;com">lmariano<span>&#64;</span>draper<span>&#46;</span>com</a>&gt;</li>
-<li>Dr. Joshua Poore &lt;<a class="reference external" href="mailto:jpoore&#37;&#52;&#48;draper&#46;com">jpoore<span>&#64;</span>draper<span>&#46;</span>com</a>&gt;</li>
-<li>Clay Gimenez &lt;<a class="reference external" href="mailto:cgimenez&#37;&#52;&#48;draper&#46;com">cgimenez<span>&#64;</span>draper<span>&#46;</span>com</a>&gt;</li>
 <li>Hugh Enxing &lt;<a class="reference external" href="mailto:henxing&#37;&#52;&#48;draper&#46;com">henxing<span>&#64;</span>draper<span>&#46;</span>com</a>&gt;</li>
+<li>Laura Mariano &lt;<a class="reference external" href="mailto:lmariano&#37;&#52;&#48;apache&#46;org">lmariano<span>&#64;</span>apache<span>&#46;</span>org</a>&gt;</li>
+<li>Dr. Joshua Poore &lt;<a class="reference external" href="mailto:jpoore&#37;&#52;&#48;apache&#46;org">jpoore<span>&#64;</span>apache<span>&#46;</span>org</a>&gt;</li>
+<li>Clay Gimenez &lt;<a class="reference external" href="mailto:cgimenez&#37;&#52;&#48;dapache&#46;org">cgimenez<span>&#64;</span>dapache<span>&#46;</span>org</a>&gt;</li>
 </ul>
 </div>
 </div>
@@ -166,7 +166,7 @@
   
     <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
       
-        <a href="contributing.html" class="btn btn-neutral float-right" title="Contributing to UserAle.pyqt5" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
+        <a href="contributing.html" class="btn btn-neutral float-right" title="Contributing to Apache UserALE.PyQt5" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
       
       
         <a href="userale.html" class="btn btn-neutral" title="ALE Library" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
@@ -178,7 +178,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2016, The Charles Stark Draper Laboratory..
+        &copy; Copyright 2016, Apache Software License.
 
     </p>
   </div>
@@ -200,7 +200,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'./',
-            VERSION:'1.0.4',
+            VERSION:'0.1.5',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/changelog.html b/changelog.html
index ee6f3b7..cb67ea3 100644
--- a/changelog.html
+++ b/changelog.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Changelog &mdash; UserAle 1.0.4 documentation</title>
+  <title>Changelog &mdash; Apache UserALE.PyQt5 0.1.5 documentation</title>
   
 
   
@@ -30,9 +30,9 @@
   
 
   
-    <link rel="top" title="UserAle 1.0.4 documentation" href="index.html"/>
+    <link rel="top" title="Apache UserALE.PyQt5 0.1.5 documentation" href="index.html"/>
         <link rel="next" title="License" href="license.html"/>
-        <link rel="prev" title="Contributing to UserAle.pyqt5" href="contributing.html"/> 
+        <link rel="prev" title="Contributing to Apache UserALE.PyQt5" href="contributing.html"/> 
 
   
   <script src="_static/js/modernizr.min.js"></script>
@@ -50,7 +50,7 @@
           
 
           
-            <a href="index.html" class="icon icon-home"> UserAle
+            <a href="index.html" class="icon icon-home"> Apache UserALE.PyQt5
           
 
           
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                1.0.4
+                0.1.5
               </div>
             
           
@@ -90,13 +90,14 @@
 </ul>
 <ul class="current">
 <li class="toctree-l1"><a class="reference internal" href="authors.html">Authors</a></li>
-<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to UserAle.pyqt5</a></li>
+<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to Apache UserALE.PyQt5</a></li>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">Changelog</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#id2">1.0.4 (2016-08-04)</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#id3">1.0.3 (2016-08-02)</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#id4">1.0.2 (2016-08-01)</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#id5">1.0.1 (2016-07-29)</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#id6">1.0.0 (2016-06-24)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#id2">0.1.5 (2016-09-19)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#id3">0.1.4 (2016-08-04)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#id4">0.1.3 (2016-08-02)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#id5">0.1.2 (2016-08-01)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#id6">0.1.1 (2016-07-29)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#id7">0.1.0 (2016-06-24)</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="license.html">License</a></li>
@@ -113,7 +114,7 @@
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
         <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="index.html">UserAle</a>
+        <a href="index.html">Apache UserALE.PyQt5</a>
       </nav>
 
 
@@ -145,12 +146,24 @@
   <div class="section" id="changelog">
 <span id="id1"></span><h1>Changelog<a class="headerlink" href="#changelog" title="Permalink to this headline">¶</a></h1>
 <div class="section" id="id2">
-<h2>1.0.4 (2016-08-04)<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h2>
+<h2>0.1.5 (2016-09-19)<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li>clientTime field is represented in ISO 8601 format.</li>
+<li>Sampling <code class="docutils literal"><span class="pre">mouseenter</span></code>, <code class="docutils literal"><span class="pre">mouseleave</span></code>, and <code class="docutils literal"><span class="pre">dragmove</span></code> events by <code class="docutils literal"><span class="pre">resolution</span></code> parameter.</li>
+<li>Batch dumping all logs to file by interval parameter.</li>
+<li>Added Apache license headers.</li>
+<li>Updated all documentation.</li>
+<li>Updated versioning numbers.</li>
+<li>Added docker support.</li>
+</ul>
+</div>
+<div class="section" id="id3">
+<h2>0.1.4 (2016-08-04)<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h2>
 <ul>
-<li><p class="first">New events UserAle is tracking:</p>
+<li><p class="first">New events Apache UserAle is tracking:</p>
 <blockquote>
 <div><ul class="simple">
-<li><code class="docutils literal"><span class="pre">mousemove</span></code></li>
+<li><code class="docutils literal"><span class="pre">move</span></code></li>
 <li><code class="docutils literal"><span class="pre">resize</span></code></li>
 <li><code class="docutils literal"><span class="pre">scroll</span></code></li>
 </ul>
@@ -162,10 +175,10 @@
 </li>
 </ul>
 </div>
-<div class="section" id="id3">
-<h2>1.0.3 (2016-08-02)<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="id4">
+<h2>0.1.3 (2016-08-02)<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h2>
 <ul>
-<li><p class="first">New events UserAle is tracking:</p>
+<li><p class="first">New events Apache UserAle is tracking:</p>
 <blockquote>
 <div><ul class="simple">
 <li><code class="docutils literal"><span class="pre">mouseenter</span></code></li>
@@ -175,25 +188,25 @@
 </li>
 </ul>
 </div>
-<div class="section" id="id4">
-<h2>1.0.2 (2016-08-01)<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="id5">
+<h2>0.1.2 (2016-08-01)<a class="headerlink" href="#id5" title="Permalink to this headline">¶</a></h2>
 <ul class="simple">
 <li>The elapsed time for a drag event is being recorded in the <code class="docutils literal"><span class="pre">dragdrop</span></code> log.</li>
 </ul>
 </div>
-<div class="section" id="id5">
-<h2>1.0.1 (2016-07-29)<a class="headerlink" href="#id5" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="id6">
+<h2>0.1.1 (2016-07-29)<a class="headerlink" href="#id6" title="Permalink to this headline">¶</a></h2>
 <ul>
 <li><p class="first">All logs will be stored to file called userale.log (configurable).</p>
 </li>
-<li><p class="first">Users can specify which events to capture by passing in a list of event keys when instantiating UserAle.</p>
+<li><p class="first">Users can specify which events to capture by passing in a list of event keys when instantiating Apache UserAle.</p>
 </li>
-<li><p class="first">These are the events UserAle is tracking:</p>
+<li><p class="first">These are the events Apache UserAle is tracking:</p>
 <blockquote>
 <div><ul class="simple">
 <li><code class="docutils literal"><span class="pre">mouseup</span></code></li>
 <li><code class="docutils literal"><span class="pre">mousedown</span></code></li>
-<li><code class="docutils literal"><span class="pre">mouseover</span></code></li>
+<li><code class="docutils literal"><span class="pre">mousemove</span></code></li>
 <li><code class="docutils literal"><span class="pre">keypress</span></code> (optional)</li>
 <li><code class="docutils literal"><span class="pre">keydown</span></code> (optional)</li>
 <li><code class="docutils literal"><span class="pre">dragenter</span></code></li>
@@ -205,8 +218,8 @@
 </li>
 </ul>
 </div>
-<div class="section" id="id6">
-<h2>1.0.0 (2016-06-24)<a class="headerlink" href="#id6" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="id7">
+<h2>0.1.0 (2016-06-24)<a class="headerlink" href="#id7" title="Permalink to this headline">¶</a></h2>
 <p>Initial release.</p>
 </div>
 </div>
@@ -221,7 +234,7 @@
         <a href="license.html" class="btn btn-neutral float-right" title="License" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
       
       
-        <a href="contributing.html" class="btn btn-neutral" title="Contributing to UserAle.pyqt5" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+        <a href="contributing.html" class="btn btn-neutral" title="Contributing to Apache UserALE.PyQt5" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
       
     </div>
   
@@ -230,7 +243,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2016, The Charles Stark Draper Laboratory..
+        &copy; Copyright 2016, Apache Software License.
 
     </p>
   </div>
@@ -252,7 +265,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'./',
-            VERSION:'1.0.4',
+            VERSION:'0.1.5',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/contributing.html b/contributing.html
index 1fdb399..27108c7 100644
--- a/contributing.html
+++ b/contributing.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Contributing to UserAle.pyqt5 &mdash; UserAle 1.0.4 documentation</title>
+  <title>Contributing to Apache UserALE.PyQt5 &mdash; Apache UserALE.PyQt5 0.1.5 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="UserAle 1.0.4 documentation" href="index.html"/>
+    <link rel="top" title="Apache UserALE.PyQt5 0.1.5 documentation" href="index.html"/>
         <link rel="next" title="Changelog" href="changelog.html"/>
         <link rel="prev" title="Authors" href="authors.html"/> 
 
@@ -50,7 +50,7 @@
           
 
           
-            <a href="index.html" class="icon icon-home"> UserAle
+            <a href="index.html" class="icon icon-home"> Apache UserALE.PyQt5
           
 
           
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                1.0.4
+                0.1.5
               </div>
             
           
@@ -90,7 +90,7 @@
 </ul>
 <ul class="current">
 <li class="toctree-l1"><a class="reference internal" href="authors.html">Authors</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Contributing to UserAle.pyqt5</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">Contributing to Apache UserALE.PyQt5</a></li>
 <li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog</a></li>
 <li class="toctree-l1"><a class="reference internal" href="license.html">License</a></li>
 </ul>
@@ -106,7 +106,7 @@
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
         <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="index.html">UserAle</a>
+        <a href="index.html">Apache UserALE.PyQt5</a>
       </nav>
 
 
@@ -123,7 +123,7 @@
   <ul class="wy-breadcrumbs">
     <li><a href="index.html">Docs</a> &raquo;</li>
       
-    <li>Contributing to UserAle.pyqt5</li>
+    <li>Contributing to Apache UserALE.PyQt5</li>
       <li class="wy-breadcrumbs-aside">
         
           
@@ -135,49 +135,49 @@
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div itemprop="articleBody">
             
-  <div class="section" id="contributing-to-userale-pyqt5">
-<span id="contributing"></span><h1>Contributing to UserAle.pyqt5<a class="headerlink" href="#contributing-to-userale-pyqt5" title="Permalink to this headline">¶</a></h1>
-<p>Thank you for contributing to the UserAle project!</p>
+  <div class="section" id="contributing-to-apache-userale-pyqt5">
+<span id="contributing"></span><h1>Contributing to Apache UserALE.PyQt5<a class="headerlink" href="#contributing-to-apache-userale-pyqt5" title="Permalink to this headline">¶</a></h1>
+<p>Thank you for contributing to the Apache UserALE.PyQt5 project!</p>
 <p>There are certain procedures that must be followed for all contributions. These
 procedures are necessary to allow us to allocate resources for reviewing and
-testing your contribution, as well as communicate effectively with you during
+testing your contribution, as well as to communicate effectively with you during
 the review process.</p>
 <ol class="arabic">
-<li><p class="first">Create an issue in GitHub</p>
+<li><p class="first">Create an issue in JIRA</p>
 <blockquote>
-<div><p>All changes to UserAle must have corresponding issues in GitHub so the
+<div><p>All changes to Apache UserALE.PyQt5 must have a corresponding issue in JIRA so the
 change can be properly tracked:</p>
 <blockquote>
-<div><p><a class="reference external" href="https://github.com/draperlaboratory/userale.pyqt5/issues">https://github.com/draperlaboratory/userale.pyqt5/issues</a></p>
+<div><p><a class="reference external" href="https://issues.apache.org/jira/browse/senssoft">https://issues.apache.org/jira/browse/senssoft</a></p>
 </div></blockquote>
-<p>If you do not already have an account on GitHub, you will need to create
+<p>If you do not already have an account on JIRA, you will need to create
 before creating your new issue.</p>
 </div></blockquote>
 </li>
 <li><p class="first">Make and test your changes locally</p>
 <blockquote>
-<div><p>The UserAle source is maintained in a git repository hosted on GitHub:</p>
+<div><p>The Apache UserALE.PyQt5 source is maintained in a git repository hosted on Apache:</p>
 <blockquote>
-<div><p><a class="reference external" href="https://github.com/draperlaboratory/userale.pyqt5">https://github.com/draperlaboratory/userale.pyqt5</a></p>
+<div><p><a class="reference external" href="https://git-wip-us.apache.org/repos/asf/incubator-senssoft-userale-pyqt5.git">https://git-wip-us.apache.org/repos/asf/incubator-senssoft-userale-pyqt5.git</a></p>
 </div></blockquote>
 <p>To make your changes, fork the repository and make commits
 to a topic branch in your fork. Commits should be made in logical units
-and must reference the Git issue number:</p>
-<div class="highlight-default"><div class="highlight"><pre><span></span>$ git commit -m &quot;UserAle-123: High-level message describing the changes.&quot;
+and must reference the JIRA issue number:</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span>$ git commit -m &quot;#SENSSOFT-123: #High-level message describing the changes.&quot;
 </pre></div>
 </div>
 <p>Avoid commits which cover multiple, distinct goals that could (and should)
 be handled separately.</p>
-<p>If you do not already have an account on GitHub, you will need to create
+<p>If you do not already have an account on JIRA, you will need to create
 one before making your changes.</p>
 </div></blockquote>
 </li>
-<li><p class="first">Submit your changes via a pull request on GitHub</p>
+<li><p class="first">Submit your changes via a pull request on Git</p>
 <blockquote>
 <div><p>Once your changes are ready, submit them by creating a pull request for
 the corresponding topic branch you created when you began working on your
 changes.</p>
-<p>The UserAle team will then review your changes and, if they pass review,
+<p>The Apache UserALE.PyQt5 team will then review your changes and, if they pass review,
 your changes will be merged.</p>
 </div></blockquote>
 </li>
@@ -203,7 +203,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2016, The Charles Stark Draper Laboratory..
+        &copy; Copyright 2016, Apache Software License.
 
     </p>
   </div>
@@ -225,7 +225,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'./',
-            VERSION:'1.0.4',
+            VERSION:'0.1.5',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/index.html b/index.html
index 1686b5f..02e13b5 100644
--- a/index.html
+++ b/index.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>UserAle &mdash; UserAle 1.0.4 documentation</title>
+  <title>Apache UserALE &mdash; Apache UserALE.PyQt5 0.1.5 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="UserAle 1.0.4 documentation" href="#"/>
+    <link rel="top" title="Apache UserALE.PyQt5 0.1.5 documentation" href="#"/>
         <link rel="next" title="Installation Guide" href="installation.html"/> 
 
   
@@ -49,7 +49,7 @@
           
 
           
-            <a href="#" class="icon icon-home"> UserAle
+            <a href="#" class="icon icon-home"> Apache UserALE.PyQt5
           
 
           
@@ -59,7 +59,7 @@
             
             
               <div class="version">
-                1.0.4
+                0.1.5
               </div>
             
           
@@ -89,7 +89,7 @@
 </ul>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="authors.html">Authors</a></li>
-<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to UserAle.pyqt5</a></li>
+<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to Apache UserALE.PyQt5</a></li>
 <li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog</a></li>
 <li class="toctree-l1"><a class="reference internal" href="license.html">License</a></li>
 </ul>
@@ -105,7 +105,7 @@
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
         <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="#">UserAle</a>
+        <a href="#">Apache UserALE.PyQt5</a>
       </nav>
 
 
@@ -122,7 +122,7 @@
   <ul class="wy-breadcrumbs">
     <li><a href="#">Docs</a> &raquo;</li>
       
-    <li>UserAle</li>
+    <li>Apache UserALE</li>
       <li class="wy-breadcrumbs-aside">
         
           
@@ -134,26 +134,26 @@
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div itemprop="articleBody">
             
-  <div class="section" id="userale">
-<h1>UserAle<a class="headerlink" href="#userale" title="Permalink to this headline">¶</a></h1>
-<p>UserAle.pyqt5 is one of the Software As A Sensor™ products. The goal of Software As A Sensor™ is to develop understanding
+  <div class="section" id="apache-userale">
+<h1>Apache UserALE<a class="headerlink" href="#apache-userale" title="Permalink to this headline">¶</a></h1>
+<p>Apache UserALE.PyQt5 is one of the Software As A Sensor™ products. The goal of Software As A Sensor™ is to develop understanding
 of your users through their interactions with your software product. You can then apply that understanding to improve your
-product&#8217;s design and functionality. UserAle.pyqt5 provides an easy way to generate highly detailed log streams from any PyQt5 application.</p>
-<p>UserAle.pyqt5 is developed at Draper and released free and open source through the Apache v2.0 license. Bug reports and contributions are welcome through GitHub.</p>
+product&#8217;s design and functionality. Apache UserALE.PyQt5 provides an easy way to generate highly detailed log streams from any PyQt5 application.</p>
+<p>Apache UserALE.PyQt5 is developed at Draper and released free and open source through the Apache v2.0 license. Bug reports and contributions are welcome through Jira.</p>
 <div class="section" id="user-s-guide">
 <h2>User&#8217;s Guide<a class="headerlink" href="#user-s-guide" title="Permalink to this headline">¶</a></h2>
 <div class="toctree-wrapper compound">
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="installation.html">Installation Guide</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="installation.html#requirements">Requirements</a></li>
-<li class="toctree-l2"><a class="reference internal" href="installation.html#installing-userale">Installing UserAle</a></li>
-<li class="toctree-l2"><a class="reference internal" href="installation.html#installing-userale-in-an-virtual-environment">Installing UserAle in an Virtual Environment</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installation.html#installing-apache-userale-pyqt5">Installing Apache UserALE.PyQt5</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installation.html#installing-apache-userale-pyqt5-in-an-virtual-environment">Installing Apache UserALE.PyQt5 in an Virtual Environment</a></li>
 <li class="toctree-l2"><a class="reference internal" href="installation.html#installing-documentation">Installing Documentation</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="quickstart.html">Quickstart Guide</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="quickstart.html#instrumenting-your-application-globally-with-userale">Instrumenting Your Application Globally with UserAle</a></li>
-<li class="toctree-l2"><a class="reference internal" href="quickstart.html#instrumenting-your-application-manually-with-userale">Instrumenting Your Application Manually with UserAle</a></li>
+<li class="toctree-l2"><a class="reference internal" href="quickstart.html#instrumenting-your-application-globally-with-apache-userale-pyqt5">Instrumenting Your Application Globally with Apache UserALE.PyQt5</a></li>
+<li class="toctree-l2"><a class="reference internal" href="quickstart.html#instrumenting-your-application-manually-with-apache-userale-pyqt5">Instrumenting Your Application Manually with Apache UserALE.PyQt5</a></li>
 </ul>
 </li>
 </ul>
@@ -161,11 +161,11 @@
 </div>
 <div class="section" id="api-reference">
 <h2>API Reference<a class="headerlink" href="#api-reference" title="Permalink to this headline">¶</a></h2>
-<p>This entire section is mainly for developers of UserAle. This section was automatically generated by <a class="reference external" href="http://www.sphinx-doc.org/en/stable/">Sphinx</a> and <a class="reference external" href="http://apidocjs.com/">apidoc</a>.</p>
+<p>This entire section is mainly for developers of Apache UserALE.PyQt5. This section was automatically generated by <a class="reference external" href="http://www.sphinx-doc.org/en/stable/">Sphinx</a> and <a class="reference external" href="http://apidocjs.com/">apidoc</a>.</p>
 <div class="toctree-wrapper compound">
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="userale.html">ALE Library</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="userale.html#module-userale.ale">UserAle</a></li>
+<li class="toctree-l2"><a class="reference internal" href="userale.html#module-userale.ale">Apache UserALE.PyQt5</a></li>
 </ul>
 </li>
 </ul>
@@ -181,13 +181,14 @@
 <li class="toctree-l2"><a class="reference internal" href="authors.html#additional-staff">Additional Staff</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to UserAle.pyqt5</a></li>
+<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to Apache UserALE.PyQt5</a></li>
 <li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="changelog.html#id2">1.0.4 (2016-08-04)</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changelog.html#id3">1.0.3 (2016-08-02)</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changelog.html#id4">1.0.2 (2016-08-01)</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changelog.html#id5">1.0.1 (2016-07-29)</a></li>
-<li class="toctree-l2"><a class="reference internal" href="changelog.html#id6">1.0.0 (2016-06-24)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changelog.html#id2">0.1.5 (2016-09-19)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changelog.html#id3">0.1.4 (2016-08-04)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changelog.html#id4">0.1.3 (2016-08-02)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changelog.html#id5">0.1.2 (2016-08-01)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changelog.html#id6">0.1.1 (2016-07-29)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changelog.html#id7">0.1.0 (2016-06-24)</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="license.html">License</a></li>
@@ -213,7 +214,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2016, The Charles Stark Draper Laboratory..
+        &copy; Copyright 2016, Apache Software License.
 
     </p>
   </div>
@@ -235,7 +236,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'./',
-            VERSION:'1.0.4',
+            VERSION:'0.1.5',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/installation.html b/installation.html
index c706167..712a799 100644
--- a/installation.html
+++ b/installation.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Installation Guide &mdash; UserAle 1.0.4 documentation</title>
+  <title>Installation Guide &mdash; Apache UserALE.PyQt5 0.1.5 documentation</title>
   
 
   
@@ -30,9 +30,9 @@
   
 
   
-    <link rel="top" title="UserAle 1.0.4 documentation" href="index.html"/>
+    <link rel="top" title="Apache UserALE.PyQt5 0.1.5 documentation" href="index.html"/>
         <link rel="next" title="Quickstart Guide" href="quickstart.html"/>
-        <link rel="prev" title="UserAle" href="index.html"/> 
+        <link rel="prev" title="Apache UserALE" href="index.html"/> 
 
   
   <script src="_static/js/modernizr.min.js"></script>
@@ -50,7 +50,7 @@
           
 
           
-            <a href="index.html" class="icon icon-home"> UserAle
+            <a href="index.html" class="icon icon-home"> Apache UserALE.PyQt5
           
 
           
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                1.0.4
+                0.1.5
               </div>
             
           
@@ -84,8 +84,8 @@
                 <ul class="current">
 <li class="toctree-l1 current"><a class="current reference internal" href="#">Installation Guide</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="#requirements">Requirements</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#installing-userale">Installing UserAle</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#installing-userale-in-an-virtual-environment">Installing UserAle in an Virtual Environment</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#installing-apache-userale-pyqt5">Installing Apache UserALE.PyQt5</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#installing-apache-userale-pyqt5-in-an-virtual-environment">Installing Apache UserALE.PyQt5 in an Virtual Environment</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#installing-documentation">Installing Documentation</a></li>
 </ul>
 </li>
@@ -96,7 +96,7 @@
 </ul>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="authors.html">Authors</a></li>
-<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to UserAle.pyqt5</a></li>
+<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to Apache UserALE.PyQt5</a></li>
 <li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog</a></li>
 <li class="toctree-l1"><a class="reference internal" href="license.html">License</a></li>
 </ul>
@@ -112,7 +112,7 @@
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
         <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="index.html">UserAle</a>
+        <a href="index.html">Apache UserALE.PyQt5</a>
       </nav>
 
 
@@ -151,13 +151,13 @@
 <li>pip3, see requirements.txt</li>
 </ul>
 </div>
-<div class="section" id="installing-userale">
-<h2>Installing UserAle<a class="headerlink" href="#installing-userale" title="Permalink to this headline">¶</a></h2>
-<p>The first step is to install UserAle. First, checkout the latest version of UserAle from our Github repository.</p>
-<div class="highlight-default"><div class="highlight"><pre><span></span>$ git clone https://github.com/draperlaboratory/userale.pyqt5.git
+<div class="section" id="installing-apache-userale-pyqt5">
+<h2>Installing Apache UserALE.PyQt5<a class="headerlink" href="#installing-apache-userale-pyqt5" title="Permalink to this headline">¶</a></h2>
+<p>The first step is to install Apache UserALE.PyQt5. First, checkout the latest version of Apache UserALE.PyQt5 from our Git repository.</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span>$ git clone https://git-wip-us.apache.org/repos/asf/incubator-senssoft-userale-pyqt5.git
 </pre></div>
 </div>
-<p>UserAle is a python3 project, so it can be installed like any other python library. Several operating systems (Mac OS X, Major Versions of Linux/BSD) have Python3 pre-installed, so you should just have to run</p>
+<p>Apache UserALE.PyQt5 is a python3 project, so it can be installed like any other python library. Several operating systems (Mac OS X, Major Versions of Linux/BSD) have Python3 pre-installed, so you should just have to run</p>
 <div class="highlight-default"><div class="highlight"><pre><span></span>$ easy_install3 userale
 </pre></div>
 </div>
@@ -165,20 +165,20 @@
 <div class="highlight-default"><div class="highlight"><pre><span></span>$ pip3 install userale
 </pre></div>
 </div>
-<p>Users are strongly recommended to install UserAle in a virtualenv. Instructions to setup an virtual environment will be explained below.</p>
+<p>Users are strongly recommended to install Apache UserALE.PyQt5 in a virtualenv. Instructions to setup an virtual environment will be explained below.</p>
 <div class="admonition note">
 <p class="first admonition-title">Note</p>
-<p class="last">UserAle.pyqt5 requires that PyQt5 and the Qt5 bindings has been installed. Instructions to install PyQt5 and Qt5 in a virtual environment will be left to the user.</p>
+<p class="last">Apache UserALE.PyQt5 requires that PyQt5 and the Qt5 bindings has been installed. Instructions to install PyQt5 and Qt5 in a virtual environment will be left to the user.</p>
 </div>
 <div class="admonition note">
 <p class="first admonition-title">Note</p>
 <p class="last">When the package is installed via <code class="docutils literal"><span class="pre">easy_install3</span></code> or <code class="docutils literal"><span class="pre">pip3</span></code> this function will be bound to the <code class="docutils literal"><span class="pre">userale</span></code> executable in the Python installation&#8217;s <code class="docutils literal"><span class="pre">bin</span></code> directory (on Windows - the <code class="docutils literal"><span class="pre">Scripts</span></code> directory).</p>
 </div>
 </div>
-<div class="section" id="installing-userale-in-an-virtual-environment">
-<h2>Installing UserAle in an Virtual Environment<a class="headerlink" href="#installing-userale-in-an-virtual-environment" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="installing-apache-userale-pyqt5-in-an-virtual-environment">
+<h2>Installing Apache UserALE.PyQt5 in an Virtual Environment<a class="headerlink" href="#installing-apache-userale-pyqt5-in-an-virtual-environment" title="Permalink to this headline">¶</a></h2>
 <p>There are multiple ways to create virtual environments for a Python3 application. virtualenv is a one of those tools to create isolated Python environments. virtualenv creates a folder which contains all the necessary executables to use the packages that the UserAle project would need.</p>
-<p>Start by changing directory into the root of UserAle&#8217;s project directory, and then use the virtualenv command-line tool to create a new environment:</p>
+<p>Start by changing directory into the root of Apache UserALE.PyQt5&#8217;s project directory, and then use the virtualenv command-line tool to create a new environment:</p>
 <div class="highlight-default"><div class="highlight"><pre><span></span>$ virtualenv --python=/usr/bin/python3 env
 </pre></div>
 </div>
@@ -192,7 +192,7 @@
 </pre></div>
 </div>
 <p>Install UserAle requirements:</p>
-<div class="highlight-default"><div class="highlight"><pre><span></span>$ env/bin/pip3 -r requirements.txt
+<div class="highlight-default"><div class="highlight"><pre><span></span>$ env/bin/pip3 install -r requirements.txt
 </pre></div>
 </div>
 <p>To build the source code and run all unit tests.</p>
@@ -208,7 +208,11 @@
 <h2>Installing Documentation<a class="headerlink" href="#installing-documentation" title="Permalink to this headline">¶</a></h2>
 <p>To save yourself the trouble, all up to date documentation is available at <a class="reference external" href="https://draperlaboratory.github.io/userale.pyqt5/">https://draperlaboratory.github.io/userale.pyqt5/</a>.</p>
 <p>However, if you want to manully build the documentation, the instructions are below.</p>
-<p>To build UserAle&#8217;s documentation, create a directory at the root level of <code class="docutils literal"><span class="pre">/userale.pyqt5</span></code> called userale.pyqt5-docs.</p>
+<p>First, install the documentation dependencies:</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span>$ env/bin/pip3 install -r doc_requirements.txt
+</pre></div>
+</div>
+<p>To build Apache UserALE.PyQt5&#8217;s documentation, create a directory at the root level of <code class="docutils literal"><span class="pre">/userale.pyqt5</span></code> called userale.pyqt5-docs.</p>
 <div class="highlight-default"><div class="highlight"><pre><span></span>$ mkdir userale.pyqt5-docs &amp; cd userale.pyqt5-docs
 </pre></div>
 </div>
@@ -235,7 +239,7 @@
         <a href="quickstart.html" class="btn btn-neutral float-right" title="Quickstart Guide" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
       
       
-        <a href="index.html" class="btn btn-neutral" title="UserAle" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+        <a href="index.html" class="btn btn-neutral" title="Apache UserALE" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
       
     </div>
   
@@ -244,7 +248,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2016, The Charles Stark Draper Laboratory..
+        &copy; Copyright 2016, Apache Software License.
 
     </p>
   </div>
@@ -266,7 +270,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'./',
-            VERSION:'1.0.4',
+            VERSION:'0.1.5',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/license.html b/license.html
index 66cfeba..7c3bb10 100644
--- a/license.html
+++ b/license.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>License &mdash; UserAle 1.0.4 documentation</title>
+  <title>License &mdash; Apache UserALE.PyQt5 0.1.5 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="UserAle 1.0.4 documentation" href="index.html"/>
+    <link rel="top" title="Apache UserALE.PyQt5 0.1.5 documentation" href="index.html"/>
         <link rel="prev" title="Changelog" href="changelog.html"/> 
 
   
@@ -49,7 +49,7 @@
           
 
           
-            <a href="index.html" class="icon icon-home"> UserAle
+            <a href="index.html" class="icon icon-home"> Apache UserALE.PyQt5
           
 
           
@@ -59,7 +59,7 @@
             
             
               <div class="version">
-                1.0.4
+                0.1.5
               </div>
             
           
@@ -89,7 +89,7 @@
 </ul>
 <ul class="current">
 <li class="toctree-l1"><a class="reference internal" href="authors.html">Authors</a></li>
-<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to UserAle.pyqt5</a></li>
+<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to Apache UserALE.PyQt5</a></li>
 <li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog</a></li>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">License</a></li>
 </ul>
@@ -105,7 +105,7 @@
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
         <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="index.html">UserAle</a>
+        <a href="index.html">Apache UserALE.PyQt5</a>
       </nav>
 
 
@@ -136,10 +136,12 @@
             
   <div class="section" id="license">
 <h1>License<a class="headerlink" href="#license" title="Permalink to this headline">¶</a></h1>
-<p>Copyright 2016 The Charles Stark Draper Laboratory, Inc.</p>
-<p>Licensed under the Apache License, Version 2.0 (the &#8220;License&#8221;);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at</p>
+<p>Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the &#8220;License&#8221;); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at</p>
 <blockquote>
 <div><a class="reference external" href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a></div></blockquote>
 <p>Unless required by applicable law or agreed to in writing, software
@@ -166,7 +168,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2016, The Charles Stark Draper Laboratory..
+        &copy; Copyright 2016, Apache Software License.
 
     </p>
   </div>
@@ -188,7 +190,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'./',
-            VERSION:'1.0.4',
+            VERSION:'0.1.5',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/objects.inv b/objects.inv
index 50ae97a..68c5aaf 100644
--- a/objects.inv
+++ b/objects.inv
Binary files differ
diff --git a/quickstart.html b/quickstart.html
index fdf79ea..e896722 100644
--- a/quickstart.html
+++ b/quickstart.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Quickstart Guide &mdash; UserAle 1.0.4 documentation</title>
+  <title>Quickstart Guide &mdash; Apache UserALE.PyQt5 0.1.5 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="UserAle 1.0.4 documentation" href="index.html"/>
+    <link rel="top" title="Apache UserALE.PyQt5 0.1.5 documentation" href="index.html"/>
         <link rel="next" title="ALE Library" href="userale.html"/>
         <link rel="prev" title="Installation Guide" href="installation.html"/> 
 
@@ -50,7 +50,7 @@
           
 
           
-            <a href="index.html" class="icon icon-home"> UserAle
+            <a href="index.html" class="icon icon-home"> Apache UserALE.PyQt5
           
 
           
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                1.0.4
+                0.1.5
               </div>
             
           
@@ -84,8 +84,8 @@
                 <ul class="current">
 <li class="toctree-l1"><a class="reference internal" href="installation.html">Installation Guide</a></li>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">Quickstart Guide</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#instrumenting-your-application-globally-with-userale">Instrumenting Your Application Globally with UserAle</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#instrumenting-your-application-manually-with-userale">Instrumenting Your Application Manually with UserAle</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#instrumenting-your-application-globally-with-apache-userale-pyqt5">Instrumenting Your Application Globally with Apache UserALE.PyQt5</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#instrumenting-your-application-manually-with-apache-userale-pyqt5">Instrumenting Your Application Manually with Apache UserALE.PyQt5</a></li>
 </ul>
 </li>
 </ul>
@@ -94,7 +94,7 @@
 </ul>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="authors.html">Authors</a></li>
-<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to UserAle.pyqt5</a></li>
+<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to Apache UserALE.PyQt5</a></li>
 <li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog</a></li>
 <li class="toctree-l1"><a class="reference internal" href="license.html">License</a></li>
 </ul>
@@ -110,7 +110,7 @@
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
         <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="index.html">UserAle</a>
+        <a href="index.html">Apache UserALE.PyQt5</a>
       </nav>
 
 
@@ -141,10 +141,10 @@
             
   <div class="section" id="quickstart-guide">
 <span id="quickstart"></span><h1>Quickstart Guide<a class="headerlink" href="#quickstart-guide" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="instrumenting-your-application-globally-with-userale">
-<h2>Instrumenting Your Application Globally with UserAle<a class="headerlink" href="#instrumenting-your-application-globally-with-userale" title="Permalink to this headline">¶</a></h2>
-<p>It&#8217;s very simple to instrument a PyQt5 application with UserAle. Simply import the UserAle library and register it with your application.</p>
-<p>Below is an example PyQt5 application taken from ZetCode PyQt5 tutorial instrumented with UserAle.</p>
+<div class="section" id="instrumenting-your-application-globally-with-apache-userale-pyqt5">
+<h2>Instrumenting Your Application Globally with Apache UserALE.PyQt5<a class="headerlink" href="#instrumenting-your-application-globally-with-apache-userale-pyqt5" title="Permalink to this headline">¶</a></h2>
+<p>It&#8217;s very simple to instrument a PyQt5 application with Apache UserALE.PyQt5. Simply import the Apache UserALE.PyQt5 library and register it with your application.</p>
+<p>Below is an example PyQt5 application taken from ZetCode PyQt5 tutorial instrumented with Apache UserALE.PyQt5.</p>
 <div class="highlight-default"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">sys</span>
 <span class="kn">from</span> <span class="nn">PyQt5.QtWidgets</span> <span class="k">import</span> <span class="n">QWidget</span><span class="p">,</span> <span class="n">QLabel</span><span class="p">,</span> <span class="n">QPushButton</span><span class="p">,</span> <span class="n">QApplication</span><span class="p">,</span> <span class="n">QMessageBox</span>
 <span class="kn">from</span> <span class="nn">PyQt5.QtCore</span> <span class="k">import</span> <span class="n">QCoreApplication</span><span class="p">,</span> <span class="n">QObject</span><span class="p">,</span> <span class="n">QEvent</span>
@@ -171,7 +171,7 @@
 <span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s1">&#39;__main__&#39;</span><span class="p">:</span>
     <span class="n">app</span> <span class="o">=</span> <span class="n">QApplication</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">)</span>
     <span class="n">ex</span> <span class="o">=</span> <span class="n">TestApplication</span><span class="p">()</span>
-    <span class="c1"># Initiate UserAle</span>
+    <span class="c1"># Initiate Apache UserALE.PyQt5</span>
     <span class="n">ale</span> <span class="o">=</span> <span class="n">Ale</span> <span class="p">(</span><span class="n">output</span><span class="o">=</span><span class="s2">&quot;mouse.log&quot;</span><span class="p">,</span> <span class="n">user</span><span class="o">=</span><span class="s2">&quot;testUser&quot;</span><span class="p">,</span> <span class="n">toolversion</span><span class="o">=</span><span class="s2">&quot;0.0.1&quot;</span><span class="p">)</span>
     <span class="c1"># install globally</span>
     <span class="n">app</span><span class="o">.</span><span class="n">installEventFilter</span> <span class="p">(</span><span class="n">ale</span><span class="p">)</span>
@@ -180,7 +180,7 @@
 </pre></div>
 </div>
 <p>Before we enter the mainloop of the application, UserAle needs to register the application to be instrumented.
-Simply instantiate UserAle and install it as an event filter in your application.</p>
+Simply instantiate Apache UserALE.PyQt5 and install it as an event filter in your application.</p>
 <div class="highlight-default"><div class="highlight"><pre><span></span><span class="c1"># Initiate UserAle</span>
 <span class="n">ale</span> <span class="o">=</span> <span class="n">Ale</span> <span class="p">(</span><span class="n">output</span><span class="o">=</span><span class="s2">&quot;mouse.log&quot;</span><span class="p">,</span> <span class="n">user</span><span class="o">=</span><span class="s2">&quot;testUser&quot;</span><span class="p">,</span> <span class="n">toolversion</span><span class="o">=</span><span class="s2">&quot;0.0.1&quot;</span><span class="p">)</span>
 <span class="c1"># install globally</span>
@@ -188,11 +188,11 @@
 </pre></div>
 </div>
 </div>
-<div class="section" id="instrumenting-your-application-manually-with-userale">
-<h2>Instrumenting Your Application Manually with UserAle<a class="headerlink" href="#instrumenting-your-application-manually-with-userale" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="instrumenting-your-application-manually-with-apache-userale-pyqt5">
+<h2>Instrumenting Your Application Manually with Apache UserALE.PyQt5<a class="headerlink" href="#instrumenting-your-application-manually-with-apache-userale-pyqt5" title="Permalink to this headline">¶</a></h2>
 <div class="admonition-todo admonition" id="index-0">
 <p class="first admonition-title">Todo</p>
-<p class="last">Write guidelines for instrumenting specific PyQt5 Widgets with UserAle.</p>
+<p class="last">Write guidelines for instrumenting specific PyQt5 Widgets with Apache UserALE.PyQt5.</p>
 </div>
 </div>
 </div>
@@ -216,7 +216,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2016, The Charles Stark Draper Laboratory..
+        &copy; Copyright 2016, Apache Software License.
 
     </p>
   </div>
@@ -238,7 +238,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'./',
-            VERSION:'1.0.4',
+            VERSION:'0.1.5',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/search.html b/search.html
index f5f2228..b81160a 100644
--- a/search.html
+++ b/search.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Search &mdash; UserAle 1.0.4 documentation</title>
+  <title>Search &mdash; Apache UserALE.PyQt5 0.1.5 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="UserAle 1.0.4 documentation" href="index.html"/> 
+    <link rel="top" title="Apache UserALE.PyQt5 0.1.5 documentation" href="index.html"/> 
 
   
   <script src="_static/js/modernizr.min.js"></script>
@@ -48,7 +48,7 @@
           
 
           
-            <a href="index.html" class="icon icon-home"> UserAle
+            <a href="index.html" class="icon icon-home"> Apache UserALE.PyQt5
           
 
           
@@ -58,7 +58,7 @@
             
             
               <div class="version">
-                1.0.4
+                0.1.5
               </div>
             
           
@@ -88,7 +88,7 @@
 </ul>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="authors.html">Authors</a></li>
-<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to UserAle.pyqt5</a></li>
+<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to Apache UserALE.PyQt5</a></li>
 <li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog</a></li>
 <li class="toctree-l1"><a class="reference internal" href="license.html">License</a></li>
 </ul>
@@ -104,7 +104,7 @@
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
         <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="index.html">UserAle</a>
+        <a href="index.html">Apache UserALE.PyQt5</a>
       </nav>
 
 
@@ -154,7 +154,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2016, The Charles Stark Draper Laboratory..
+        &copy; Copyright 2016, Apache Software License.
 
     </p>
   </div>
@@ -176,7 +176,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'./',
-            VERSION:'1.0.4',
+            VERSION:'0.1.5',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/searchindex.js b/searchindex.js
index 3dc4b2c..01ab462 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({envversion:50,filenames:["changelog","index","quickstart","userale"],objects:{"userale.ale":{Ale:[3,1,1,""]},"userale.ale.Ale":{eventFilter:[3,2,1,""],getClientTime:[3,2,1,""],getLocation:[3,2,1,""],getPath:[3,2,1,""],getSelector:[3,2,1,""],handleDragEvents:[3,2,1,""],handleKeyEvents:[3,2,1,""],handleMouseEvents:[3,2,1,""],handleMoveEvents:[3,2,1,""],handleResizeEvents:[3,2,1,""],handleScrollEvents:[3,2,1,""]},userale:{ale:[3,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method"},terms:{"28d7901e4ead":3,"44d9":3,"5ee42ccc":3,"852c":3,"case":3,"class":[2,3],"default":3,"function":1,"import":2,"int":3,"new":0,"return":3,"super":2,"true":3,__init__:2,__main__:2,__name__:2,a937:3,action:3,ale:[1,2],all:[0,3],ani:1,apach:1,apidoc:1,app:2,appear:3,appli:1,applic:[1,2,3],applicat:1,argv:2,author:1,autogener:0,automat:1,base:3,batch:3,befor:2,below:2,betweeen:3,between:3,bool:3,bug:1,button:2,call:0,can:[0,1],captur:[0,3],child:3,click:2,clienttim:3,code:3,configur:0,connect:2,contribut:1,creat:3,cursor:3,data:3,def:2,defin:3,delai:3,describ:3,design:1,detail:[1,3],develop:[1,3],dict:3,dictionari:3,document:1,doe:3,drag:[0,3],dragdrop:0,dragent:0,dragleav:0,dragmov:0,draper:1,due:0,easi:1,elaps:0,enter:2,entir:[1,3],environ:1,etc:3,event:[0,2,3],event_typ:3,eventfilt:3,exampl:[2,3],exec_:2,exit:2,fals:3,fetch:3,file:[0,3],filter:[2,3],free:1,frequenc:3,from:[0,1,2,3],further:3,gener:[1,3],get:3,getclienttim:3,getloc:3,getpath:3,getselector:3,github:1,global:1,goal:1,grab:3,guidelin:2,handl:3,handledragev:3,handlekeyev:3,handlemouseev:3,handlemoveev:3,handleresizeev:3,handlescrollev:3,here:1,high:3,highli:1,identifi:3,improv:1,includ:3,incorrect:0,inform:1,initial:0,initiat:2,initui:2,instal:[2,3],install:1,installat:1,installeventfilt:2,instanc:[2,3],instanti:[0,2],instrument:1,interact:1,intercept:3,interv:3,kei:[0,3],keydown:0,keylog:3,keypress:0,lead:1,leaf:3,legal:1,let:3,level:3,librari:[1,2],licens:1,like:3,list:[0,3],locat:3,log:[0,1,2,3],mainli:1,mainloop:2,manual:1,meta:3,minimum:3,mous:[2,3],mousedown:0,mouseent:0,mouseleav:0,mousemov:[0,3],mouseov:0,mouseup:0,move:[2,3],movemov:3,multipl:3,myapplic:3,name:3,need:2,node:3,non:3,none:3,object:3,off:3,open:1,oper:3,option:0,order:3,otherwis:3,out:3,output:[2,3],paramet:3,pass:0,path:3,posit:3,product:1,provid:[1,3],pyqt5:[1,2,3],qapplicat:[2,3],qbtn:2,qcoreappl:2,qevent:[2,3],qlabel:2,qmessagebox:2,qobject:[2,3],qpushbutton:2,qtcore:[2,3],qtwidget:2,quickstart:1,quit:2,qwidget:2,receiv:3,record:[0,3],recurs:3,regist:2,rel:3,releas:[0,1],remov:0,report:1,repres:3,represent:3,requir:1,resiz:[0,2,3],resolut:3,root:3,same:3,scroll:[0,3],section:1,self:2,sensor:1,sent:3,session:[0,3],setgeometri:2,setobjectnam:2,setwindowtitl:2,should:3,show:2,shutoff:3,signal:3,simpl:2,simpli:2,sizehint:2,softwar:1,sourc:1,specif:[2,3],specifi:0,sphinx:1,staff:1,stop:3,store:0,str:3,stream:1,string:3,system:3,tag:3,taken:2,target:3,testapplic:2,testapplicationbutton:2,testlineedit:3,testuser:2,thi:[1,3],through:1,time:[0,3],timer:0,toolnam:3,toolvers:[2,3],track:[0,3],transmiss:3,tree:3,trigger:3,turn:3,tutori:2,type:3,understand:1,url:3,user:0,userabc1234:3,useract:3,useral:0,userale:3,useralevers:3,userid:3,veri:2,version:3,virtual:1,wai:1,watch:3,welcom:1,when:0,which:[0,3],widget:[2,3],write:2,you:1,your:1,zetcod:2},titles:["Changelog","UserAle","Quickstart Guide","ALE Library"],titleterms:{addition:1,ale:3,api:1,applicat:2,changelog:0,global:2,guid:[1,2],instrument:2,librari:3,manual:2,note:1,quickstart:2,refer:1,todo:2,user:1,useral:[1,2,3],your:2}})
\ No newline at end of file
+Search.setIndex({envversion:50,filenames:["authors","changelog","contributing","index","installation","license","quickstart","userale"],objects:{"userale.ale":{Ale:[7,1,1,""]},"userale.ale.Ale":{aggregate:[7,2,1,""],cleanup:[7,2,1,""],dump:[7,2,1,""],eventFilter:[7,2,1,""],getClientTime:[7,2,1,""],getLocation:[7,2,1,""],getPath:[7,2,1,""],getSelector:[7,2,1,""],getSender:[7,2,1,""],handleDragEvents:[7,2,1,""],handleKeyEvents:[7,2,1,""],handleMouseEvents:[7,2,1,""],handleMoveEvents:[7,2,1,""],handleResizeEvents:[7,2,1,""],handleScrollEvents:[7,2,1,""],timerEvent:[7,2,1,""]},userale:{ale:[7,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method"},terms:{"100m":7,"10hz":7,"28d7901e4ead":7,"44d9":7,"5000m":7,"5ee42ccc":7,"852c":7,"class":[6,7],"default":7,"function":[3,4],"import":6,"int":7,"new":[1,2,4],"return":7,"super":6,"true":7,"void":7,__init__:6,__main__:6,__name__:6,a937:7,about:4,abov:4,account:2,action:7,activ:4,activat:4,added:1,addit:5,aggreg:7,agre:5,agreement:5,ale:[3,6],all:[1,2,4,7],alloc:2,allow:2,alreadi:2,ani:[3,4,7],any:5,apach:[0,1],apidoc:3,app:6,appear:7,appli:3,applic:[3,4,5,6,7],applicat:3,argv:6,asf:[2,4,5],autogener:1,automat:3,avail:4,avoid:2,base:7,basis:5,batch:[1,7],beard:0,been:4,befor:[2,6],began:2,below:[4,6],between:7,bin:4,bind:4,bool:7,bound:4,branch:2,brows:2,browser:4,bsd:4,bug:3,build:4,built:4,button:6,call:[1,4],can:[1,2,3,4],captur:[1,7],certain:2,cgimenez:0,chang:[2,4],checkout:4,clai:0,clean:7,cleanup:7,click:6,clienttim:[1,7],clone:4,code:[4,7],com:0,command:4,commit:2,commun:2,complianc:5,conditions:5,configur:1,connect:6,consolid:7,contain:4,contributor:[0,5],copi:5,copyright:5,correspond:2,could:2,cover:2,creat:[2,4,7],cursor:7,dangl:7,dapach:0,data:7,date:4,deactiv:4,def:6,defin:7,delai:7,depend:4,describ:[2,7],design:3,detail:[3,7],dict:7,dictionari:7,directori:4,distinct:2,distribut:5,doc:4,doc_requir:4,docker:1,document:[1,3],doe:7,down:7,drag:[1,7],dragdrop:1,dragent:1,dragleav:1,dragmov:1,draper:[0,3],draperlaboratori:4,due:1,dump:[1,7],dure:2,easi:3,easy_install3:4,effect:2,either:5,elaps:1,emit:7,end:4,enter:6,entir:[3,7],env:4,environ:3,enxing:0,epoch:7,etc:7,event:[1,6,7],event_typ:7,eventfilt:7,exampl:[6,7],except:5,exec_:6,execut:4,exit:6,explain:4,express:5,fals:7,fetch:7,field:1,file:[1,5,7],filter:[6,7],first:4,folder:4,follow:2,fork:2,format:1,foundat:5,free:3,frequenc:7,from:[1,3,4,6,7],gener:[3,7],get:7,getclienttim:7,getloc:7,getpath:7,getselector:7,getsend:7,gimenez:0,git:[2,4],github:4,global:3,goal:[2,3],govern:5,grab:7,guidelin:6,handl:[2,7],handledragev:7,handlekeyev:7,handlemouseev:7,handlemoveev:7,handleresizeev:7,handlescrollev:7,have:[2,4],header:1,henx:0,here:3,hierachi:7,high:[2,7],highli:3,hlog:7,host:2,howev:4,html:4,http:[2,4,5],hugh:0,identifi:7,impli:5,improv:3,includ:7,incorrect:1,incub:[2,4],index:4,inform:[3,5],initial:1,initiat:6,initui:6,inside:4,instal:[4,6,7],install:3,installat:3,installeventfilt:6,instanc:[6,7],instanti:[1,6],instruct:4,instruction:4,instrument:3,interact:3,intercept:7,interv:[1,7],iso:1,isol:4,issu:2,januari:7,jira:[2,3],joshua:0,jpoor:0,just:4,kei:[1,7],keydown:1,keylog:7,keypress:1,kind:5,languag:5,later:7,latest:4,laura:0,law:5,leaf:7,left:4,legal:3,let:7,level:[2,4,7],librari:[3,4,6],licens:[1,3],license:5,like:[4,7],limit:5,line:4,linux:4,list:[1,7],lmariano:0,local:2,locat:7,log:[1,3,6,7],logic:2,mac:4,made:2,mai:5,mainli:3,mainloop:6,maintain:[0,2],major:4,make:[2,4],manual:3,manulli:4,mariano:0,merg:2,messag:2,meta:7,michel:0,millisecond:7,minimum:7,mkdir:4,more:5,mous:[6,7],mousedown:1,mouseent:1,mouseleav:1,mousemov:[1,7],mouseup:1,move:[1,6,7],msbeard:0,multipl:[2,4,7],must:2,myapplic:7,name:7,necessari:[2,4],need:[2,4,6,7],network:7,node:7,non:7,none:7,notice:5,now:4,number:[1,2],object:7,obtain:5,off:7,once:2,open:[3,4],oper:4,option:1,optional:4,org:[0,2,4,5],other:[4,7],our:4,output:[4,6,7],over:7,ownership:5,packag:4,paramet:[1,7],pass:[1,2],path:7,permiss:5,pip3:4,poor:0,posit:7,pre:4,procedur:2,process:2,product:3,project:[2,4],propag:7,properli:2,provid:[3,7],pull:2,pyqt5:0,python3:4,python:4,qapplicat:6,qbtn:6,qcoreappl:6,qevent:[6,7],qlabel:6,qmessagebox:6,qobject:[6,7],qpushbutton:6,qt5:4,qtcore:[6,7],qtwidget:6,quickstart:3,quit:6,qwidget:6,readi:[2,4],receiv:7,recommend:4,record:[1,7],refer:2,regard:5,regist:6,rel:7,releas:[1,3],remov:1,repo:[2,4],report:3,repositori:[2,4],repres:[1,7],represent:7,request:2,requir:3,resiz:[1,6,7],resolut:[1,7],resourc:2,review:2,root:[4,7],routin:7,run:4,sai:4,same:7,sampl:[1,7],save:4,script:4,scroll:[1,7],section:3,see:[4,5],self:[6,7],send:7,sensor:3,senssoft:[2,4],sent:7,separ:2,session:[1,7],setgeometri:6,setobjectnam:6,setup:4,setwindowtitl:6,sever:4,shell:4,should:[2,4,7],show:6,shutoff:7,signal:7,simpl:6,simpli:6,sinc:7,singl:7,sizehint:6,softwar:[3,5],someth:4,sourc:[2,3,4],specif:[5,6,7],specifi:1,sphinx:3,start:4,step:4,store:1,str:7,stream:3,string:7,strongli:4,submit:2,support:[1,4],system:[4,7],tag:7,taken:6,target:7,team:2,test:[2,4],testapplic:6,testapplicationbutton:6,testlineedit:7,testuser:6,thank:2,thei:2,them:[2,4],thi:[3,4,5,7],those:4,through:3,time:[1,7],timer:1,timerev:7,tool:4,toolnam:7,toolvers:[6,7],top:4,topic:2,track:[1,2,7],transmiss:7,trigger:7,troubl:4,turn:7,tutori:6,txt:4,type:[4,7],under:5,understand:3,unit:[2,4],unix:7,unless:5,update:1,url:7,user:1,userabc1234:7,useract:7,useral:[1,2,4,6,7],userale:0,useralevers:7,userid:7,usr:4,utc:7,variou:0,venv:4,veri:6,version:[1,4,5,7],via:[2,4],virtual:3,virtualenv:4,wai:[3,4],want:4,warranties:5,watch:7,welcom:3,well:2,when:[1,2,4],which:[1,2,4,7],who:7,widget:[6,7],window:4,wip:[2,4],without:5,work:[2,5],would:4,write:[5,6,7],written:0,www:5,you:[2,3,4,5],your:[2,3,4],yourself:4,zetcod:6},titles:["Authors","Changelog","Contributing to Apache UserALE.PyQt5","Apache UserALE","Installation Guide","License","Quickstart Guide","ALE Library"],titleterms:{addition:[0,3],ale:7,apach:[2,3,4,6,7],api:3,applicat:6,author:0,changelog:1,contribut:2,develop:0,document:4,environ:4,global:6,guid:[3,4,6],install:4,installat:4,instrument:6,lead:0,librari:7,licens:5,manual:6,note:3,pyqt5:[2,4,6,7],quickstart:6,refer:3,requir:4,staff:0,todo:6,user:3,userale:[2,3,4,6,7],virtual:4,your:6}})
\ No newline at end of file
diff --git a/userale.html b/userale.html
index a1df634..8d4baa4 100644
--- a/userale.html
+++ b/userale.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>ALE Library &mdash; UserAle 1.0.4 documentation</title>
+  <title>ALE Library &mdash; Apache UserALE.PyQt5 0.1.5 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="UserAle 1.0.4 documentation" href="index.html"/>
+    <link rel="top" title="Apache UserALE.PyQt5 0.1.5 documentation" href="index.html"/>
         <link rel="next" title="Authors" href="authors.html"/>
         <link rel="prev" title="Quickstart Guide" href="quickstart.html"/> 
 
@@ -50,7 +50,7 @@
           
 
           
-            <a href="index.html" class="icon icon-home"> UserAle
+            <a href="index.html" class="icon icon-home"> Apache UserALE.PyQt5
           
 
           
@@ -60,7 +60,7 @@
             
             
               <div class="version">
-                1.0.4
+                0.1.5
               </div>
             
           
@@ -87,13 +87,13 @@
 </ul>
 <ul class="current">
 <li class="toctree-l1 current"><a class="current reference internal" href="#">ALE Library</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#module-userale.ale">UserAle</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#module-userale.ale">Apache UserALE.PyQt5</a></li>
 </ul>
 </li>
 </ul>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="authors.html">Authors</a></li>
-<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to UserAle.pyqt5</a></li>
+<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to Apache UserALE.PyQt5</a></li>
 <li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog</a></li>
 <li class="toctree-l1"><a class="reference internal" href="license.html">License</a></li>
 </ul>
@@ -109,7 +109,7 @@
       
       <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
         <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="index.html">UserAle</a>
+        <a href="index.html">Apache UserALE.PyQt5</a>
       </nav>
 
 
@@ -140,26 +140,27 @@
             
   <div class="section" id="ale-library">
 <span id="api"></span><h1>ALE Library<a class="headerlink" href="#ale-library" title="Permalink to this headline">¶</a></h1>
-<p>UserALE intercepts all application events by letting the developer install an event filter in their PyQT5 application to generate detailed user logs. UserAle does not capture system level logs or events generated by a non-user (a.k.a. system and signals sent between QObjects).</p>
+<p>Apache UserALE.PyQt5 intercepts all application events by letting the developer install an event filter in their PyQt5 application to generate detailed user logs. Apache UserALE.PyQt5 does not capture system level logs or events generated by a non-user (a.k.a. system and signals sent between QObjects).</p>
 <div class="section" id="module-userale.ale">
-<span id="userale"></span><h2>UserAle<a class="headerlink" href="#module-userale.ale" title="Permalink to this headline">¶</a></h2>
+<span id="apache-userale-pyqt5"></span><h2>Apache UserALE.PyQt5<a class="headerlink" href="#module-userale.ale" title="Permalink to this headline">¶</a></h2>
 <dl class="class">
 <dt id="userale.ale.Ale">
-<em class="property">class </em><code class="descclassname">userale.ale.</code><code class="descname">Ale</code><span class="sig-paren">(</span><em>output='userale.log'</em>, <em>interval=5000</em>, <em>user=None</em>, <em>session=None</em>, <em>toolname=None</em>, <em>toolversion=None</em>, <em>keylog=False</em>, <em>resolution=500</em>, <em>shutoff=[]</em><span class="sig-paren">)</span><a class="headerlink" href="#userale.ale.Ale" title="Permalink to this definition">¶</a></dt>
+<em class="property">class </em><code class="descclassname">userale.ale.</code><code class="descname">Ale</code><span class="sig-paren">(</span><em>output='userale.log'</em>, <em>user=None</em>, <em>session=None</em>, <em>toolname=None</em>, <em>toolversion=None</em>, <em>keylog=False</em>, <em>interval=5000</em>, <em>resolution=100</em>, <em>shutoff=[]</em><span class="sig-paren">)</span><a class="headerlink" href="#userale.ale.Ale" title="Permalink to this definition">¶</a></dt>
 <dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">PyQt5.QtCore.QObject</span></code></p>
+<p>ALE Library</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
 <li><strong>output</strong> &#8211; [str] The file or url path to which logs will be sent</li>
-<li><strong>interval</strong> &#8211; [int] The minimum time interval in ms betweeen batch transmission of logs</li>
 <li><strong>user</strong> &#8211; [str] Identifier for the user of the application</li>
 <li><strong>session</strong> &#8211; [str] Session tag to track same user with multiple sessions. If a session is not provided, one will be created</li>
 <li><strong>toolname</strong> &#8211; [str] The application name</li>
 <li><strong>toolversion</strong> &#8211; [str] The application version</li>
 <li><strong>keylog</strong> &#8211; [bool] Should detailed key logs be recorded. Default is False</li>
-<li><strong>resolution</strong> &#8211; [int] Delay in ms between instances of high frequency logs like movemoves, scrolls, etc</li>
+<li><strong>interval</strong> &#8211; [int] The minimum time interval in ms between batch transmission of logs. Default is 5000ms.</li>
+<li><strong>resolution</strong> &#8211; [int] Delay in ms between instances of high frequency logs like mousemoves, scrolls, etc. Default is 100ms (10Hz).</li>
 <li><strong>shutoff</strong> &#8211; [list] Turn off logging for specific events</li>
 </ul>
 </td>
@@ -179,11 +180,30 @@
     <span class="s1">&#39;session&#39;</span><span class="p">:</span> <span class="s1">&#39;5ee42ccc-852c-44d9-a937-28d7901e4ead&#39;</span><span class="p">,</span>
     <span class="s1">&#39;toolName&#39;</span><span class="p">:</span> <span class="s1">&#39;myApplication&#39;</span><span class="p">,</span>
     <span class="s1">&#39;toolVersion&#39;</span><span class="p">:</span> <span class="s1">&#39;3.5.0&#39;</span><span class="p">,</span>
-    <span class="s1">&#39;useraleVersion&#39;</span><span class="p">:</span> <span class="s1">&#39;1.0.0&#39;</span>
+    <span class="s1">&#39;useraleVersion&#39;</span><span class="p">:</span> <span class="s1">&#39;0.1.0&#39;</span>
 <span class="p">}</span>
 </pre></div>
 </div>
 <dl class="method">
+<dt id="userale.ale.Ale.aggregate">
+<code class="descname">aggregate</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#userale.ale.Ale.aggregate" title="Permalink to this definition">¶</a></dt>
+<dd><p>Sample high frequency logs at self.resolution. High frequency logs are consolidated down to a single log event 
+to be emitted later</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="userale.ale.Ale.cleanup">
+<code class="descname">cleanup</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#userale.ale.Ale.cleanup" title="Permalink to this definition">¶</a></dt>
+<dd><p>Clean up any dangling logs in self.logs or self.hlogs</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="userale.ale.Ale.dump">
+<code class="descname">dump</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#userale.ale.Ale.dump" title="Permalink to this definition">¶</a></dt>
+<dd><p>Write log data to file</p>
+</dd></dl>
+
+<dl class="method">
 <dt id="userale.ale.Ale.eventFilter">
 <code class="descname">eventFilter</code><span class="sig-paren">(</span><em>object</em>, <em>event</em><span class="sig-paren">)</span><a class="headerlink" href="#userale.ale.Ale.eventFilter" title="Permalink to this definition">¶</a></dt>
 <dd><table class="docutils field-list" frame="void" rules="none">
@@ -196,12 +216,12 @@
 </ul>
 </td>
 </tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">[bool] Return true in order to filter the event out (stop it from being handled further). Otherwise return false.</p>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">[bool] Propagate filter up if other objects needs to be handled</p>
 </td>
 </tr>
 </tbody>
 </table>
-<p>Filters events for the watched object (in this case, QApplication)</p>
+<p>Filters events for the watched widget.</p>
 </dd></dl>
 
 <dl class="method">
@@ -211,11 +231,11 @@
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">[str] String representation of the time the event was triggered.</td>
+<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">[str] String representation of the time the event was captured.</td>
 </tr>
 </tbody>
 </table>
-<p>Capture the time the event was captured.</p>
+<p>Capture the time the event was captured in milliseconds since the UNIX epoch (January 1, 1970 00:00:00 UTC)</p>
 </dd></dl>
 
 <dl class="method">
@@ -243,12 +263,11 @@
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>object</strong> &#8211; [QObject] The base class for all Qt objects.</td>
 </tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">[list] List of QObjects up to the child object.</td>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">[list] List of QObjects.</td>
 </tr>
 </tbody>
 </table>
-<p>Fetch the entire path up the root of the tree for a leaf node object.
-Recursive operation.</p>
+<p>Generate the entire object hierachy from root to leaf node.</p>
 </dd></dl>
 
 <dl class="method">
@@ -264,7 +283,23 @@
 </tr>
 </tbody>
 </table>
-<p>Get target object&#8217;s name (object defined by user or object&#8217;s meta class name)</p>
+<p>Get target object&#8217;s name (object defined by user or object&#8217;s meta class name).</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="userale.ale.Ale.getSender">
+<code class="descname">getSender</code><span class="sig-paren">(</span><em>object</em><span class="sig-paren">)</span><a class="headerlink" href="#userale.ale.Ale.getSender" title="Permalink to this definition">¶</a></dt>
+<dd><table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>object</strong> &#8211; [QObject] The object being watched.</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">[QObject] The QObject</td>
+</tr>
+</tbody>
+</table>
+<p>Fetch the QObject who triggered the event</p>
 </dd></dl>
 
 <dl class="method">
@@ -399,6 +434,22 @@
 <p>Returns the userale log representing all scroll events.</p>
 </dd></dl>
 
+<dl class="method">
+<dt id="userale.ale.Ale.timerEvent">
+<code class="descname">timerEvent</code><span class="sig-paren">(</span><em>event</em><span class="sig-paren">)</span><a class="headerlink" href="#userale.ale.Ale.timerEvent" title="Permalink to this definition">¶</a></dt>
+<dd><table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>object</strong> &#8211; [list] List of events</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">[void] Emit events to file</td>
+</tr>
+</tbody>
+</table>
+<p>Routinely dump data to file or send over the network</p>
+</dd></dl>
+
 </dd></dl>
 
 </div>
@@ -423,7 +474,7 @@
 
   <div role="contentinfo">
     <p>
-        &copy; Copyright 2016, The Charles Stark Draper Laboratory..
+        &copy; Copyright 2016, Apache Software License.
 
     </p>
   </div>
@@ -445,7 +496,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'./',
-            VERSION:'1.0.4',
+            VERSION:'0.1.5',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
