Merge from the Original fork

Merge from the Original fork