Add more detail for parameters and return types for methods in main
class, indent case statements and general tidy up