fix #277
fix #268
Merge remote-tracking branch 'origin/master' into 1.4.5