Add implementation for io.Reader