Added some better documentation for future reading. Because I wont remember everything!!!