experimental /dr
fixed few bugs
upstream