renamed outer_join to diff since that's what it does