more accurate output