consistent format for version comparisons