Before restruct the program