add widget loading framework