restruct codes