allow byteswithlength to be optional