too much to even attempt to enumerate
widget