Merging 3.0 changes into master