updated abstract req for keyed fields