works for DE and WM