updating with better float comparison