Saving updates manually merged in from the Horton branch.
Complete merge