added some unique_ptr stuff