the way of output is revised