delete should return promise