added shared_ptr, no real use at the moment though