merge master into 0.4 2