implemented basic widget