set_algo, get_algo, pointer to smart pointers