s/T data/T&& data/ 
data(std::move(data))