merge master into 0.4