facade refactor