Merging from lastest stable changes
Merge branch 'master' into two-dot-o
Added synchronous interface and test
merging in Todds changes