restruct code.
restruct code 2