add saveWidget function