diff --git a/ChangeLog b/ChangeLog
index 18fd87c..ec1fa43 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+* 3.0.1 - Mar 21 2016
+- Update documentation
+
* 3.0.0 - Mar 18 2016
- Change implementation to not leave lingering threads after a timeout occurs
- Split module into several parts
diff --git a/README.md b/README.md
index b02a080..4ef248d 100644
--- a/README.md
+++ b/README.md
@@ -49,6 +49,14 @@ So, for esxample, if you have a function "doit('arg1', 'arg2')" that you want to
# Handle any exceptions that doit might raise here
+How it works
+------------
+
+func\_timeout will run the specified function in a thread with the specified arguments until it returns, raises an exception, or the timeout is exceeded.
+If there is a return or an exception raised, it will be returned/raised as normal.
+
+If the timeout has exceeded, the "FunctionTimedOut" exception will be raised in the context of the function being called, as well as from the context of "func\_timeout". You should have your function catch the "FunctionTimedOut" exception and exit cleanly if possible. Every 2 seconds until your function is terminated, it will continue to raise FunctionTimedOut. The terminating of the timed-out function happens in the context of the thread and will not block main execution.
+
Support
-------
diff --git a/README.rst b/README.rst
index 80c0b43..cf66145 100644
--- a/README.rst
+++ b/README.rst
@@ -66,6 +66,13 @@ So, for esxample, if you have a function "doit('arg1', 'arg2')" that you want to
# Handle any exceptions that doit might raise here
+How it works
+------------
+
+func_timeout will run the specified function in a thread with the specified arguments until it returns, raises an exception, or the timeout is exceeded.
+If there is a return or an exception raised, it will be returned/raised as normal.
+
+If the timeout has exceeded, the "FunctionTimedOut" exception will be raised in the context of the function being called, as well as from the context of "func_timeout". You should have your function catch the "FunctionTimedOut" exception and exit cleanly if possible. Every 2 seconds until your function is terminated, it will continue to raise FunctionTimedOut. The terminating of the timed-out function happens in the context of the thread and will not block main execution.
Support
diff --git a/doc/func_timeout.dafunc.html b/doc/func_timeout.dafunc.html
index 12c86a1..a7ef7ea 100644
--- a/doc/func_timeout.dafunc.html
+++ b/doc/func_timeout.dafunc.html
@@ -9,7 +9,10 @@
func_timeout.dafunc
Copyright (c) 2016 Tim Savannah All Rights Reserved.
+
+Licensed under the Lesser GNU Public License Version 3, LGPLv3. You should have recieved a copy of this with the source distribution as
+LICENSE, otherwise it is available at https://github.com/kata198/func_timeout/LICENSE