shared_ptr<goo> gooptr = make_shared<goo>(Goomem);
reates a new instance of Goo each time it is called and the old instance get's garbage colected because the are no more references to it.
this is how I actually wrote the value inside Goo
pretty spaghetti if you ask me...but it worked
thanks to all