Add templated readers and writers