added comments, fixed tabbing, and fixed grammatical errors