Functions improved. Comments added. Applying better OOP Practices.
Merge origin/master