changed to use generated source difference rather than timestamps