btw, formatting is off here, and in other places in this pull request.