don't error when bytes read != bytes requested, just return what we read