macro for format string