Refactoring OverView