change the hierarchy
restruct