Touching up, bug fixes, overall code cleanup, updated documentation.