yuchao own code for myself