adding first raw version of the widget framework