Merging 3.0 branch.