field selection logic