moved widget to separate file