Merge new code from master 

Merge new code from master