use strcpy instead of sprintf to suppress empty format warning