fix most of the bugs, rename widget ids