restructured code.