refactored facade package structure