added global function: widget, simple is important than standard