smart pointer examples.