created common widget interface