Refactor for desktop
Desktop framework