restruct all