byte-by-byte transfer