Port some widgets, redo some of the core