+added some more functions that still need to be implemented.
+also added comments on functionality and classes