introduced widget type selection