3.0

merging the 3.0 branch with master