defined "widget" class