Replaced float with decimal to improve precision