string.format backwards compatibility