avoid using ISNAN (turing sucks)