updates to promise resolution
moved deepresolve into module