2.0

Merge 2.0 changes into trunk.