merge from shouye