Added smart pointers.