do not use shared_ptr if not necessary