add Widget class

add Widget class