completely restructured the project