added std::function example