re-organize HIDE structure