revise fprintf()