restructured the system