why don't you use a promise instead of a callback?