Adding widget functionality

Signed-off-by: shawnsandy <shawnsandy04@gmail.com>