reorganized widgets to a separate module