Added main method
Pretty print
Tidy