merge with shouchao