also allow variable-length formats
basic support for strings