merged branch 2.1.x into 3.0.x