widgets with attributes