3 different method,, using c++11 features.