First rearrangement of the project
More refactoring and cleanup