moved NaN checking