Clang Changes Rebased

see commits.