Merge in lots of changes from other projects