SmartPointer work in progress.