Completely overhauled the documentation