widget api done