started prototyping pspromise (does not build)