xmonad refactor from develop branch