merge diff from master

merge diff from master