Re organised methods and re formated code to match the structure of the interface to make things readable. Added more comments