merging latest updates

moved changes done thus far to experimental. will continue  updates to the experimental branch in future for changes before moving to master