recode setinfo and develop setHead