replace widget source