Branch 1

Merging Branch-1 code to master.