fix silly bug: need to save variable before std::move