merge to upstream, tidies up changeset: removes temporary hacks or changes from other branches