converted string-format-js to string-format because it is more flexible