use MessageFormat for better i18n