refactoring of the main facade