reverting bad merge
revert of bad merge
cherry-pick of johns lost work
manually adding back johns work
adding missing files