size and create
to/from ByteString