restructured the application