catch circular dependencies between tasks