added comments and stuff like that i indented and other things.