merge from scut-knight:master