Baseline for smart pointers done. Neeod to write unit tests and verify that they are done.