no longer casts byte -> byte for width