now returns an array of widget descriptors