cleaned up scales: deal with weird values, only finite comparisons