add group feature but not complete and add a main window controller