use byte arrays for speed