removing further CRT dependencies:  sprintf