this is the only change. the rest is indentation and minor cleanup