refactor of project's structure