refactor - now w/ results returning by a promise