Move more stuff to shared_ptr