use std::make_pair, so I don't have to list all the templates for the std::pair constructor