added smart pointers
added smart pointers
added smart pointers
smart pointers!!!