- added documentation to the files
 - rearranged the Http logic around to make more sense