refactoring structure of progect