sprintf component