Commenting and Tidy Up Changes

More comments added and tidying classes to make it more readable