try to use original io.Reader whenever possible