moving widgets to components, need own functionality