more stable widgets api