combined check_presence() and get_difference()