improved structure of the project