split widgets to own file