widgets implementation process