Improve widget component