Impr #3 create cps promise implementation