rework on codebase layout