refactor dynamic widgets
patch support for edits