add und copy/paste Widgets, lot of internal refactoring