fixed precision issue