merge the master from ctiao

merge latest commit from ctiao's master