I'm learning how to use smart pointers.