allow using both format strings and direct substitution.