added all documentation in a huge hurry sorry none of the HTML is commented :(