Some style changes at the recommendation of Brent Yorgey (http://www.cis.upenn.edu/~byorgey/)