Pulling in upstream changes from the main csdl branch.

Pulling in upstream changes from the main csdl branch.