add promise handlers to service