Updateds

Merged internal work with opensource project.