added montecarlo example
smart pointers