begin work on abstracting out diff fields, update test to do an is_a check