register a io.Reader handle func instead