use Byte over byte to avoid unboxing