most if/else logic in fielddiffplay more readable