add some comments
Change name of structs and functions to be more compliant with conventional golang format