Merged in upstream and a few changes

Boom!