(for performance reasons because network IO can be very slow)