Added templated Read() function that creates the output variable itself (so you don't need to have a temp variable)