Many of my changes
Merged with origin