A bunch of changes. See diff file to get them.