added special handling for floats to get their equality