Change services, instead of callbacks use promises