refactored project and cmake file structures