Widgets new

work in progress.

don't merge, just ready for review