add widget component