+ implemented widget numbering by widget type