guarantee a consistent field order across runs