byte array functions are optional