fix '__call__' has return and add widget