update yinhao function