diff --git a/src/ebi_commands/ebi_command_discover_non_stochastic.rs b/src/ebi_commands/ebi_command_discover_non_stochastic.rs
index 10bffe569d08f4d4c860ddce815621f069fd0803..99488d49bdd16e7818e1a12ffdb9cdbfeed4489d 100644
--- a/src/ebi_commands/ebi_command_discover_non_stochastic.rs
+++ b/src/ebi_commands/ebi_command_discover_non_stochastic.rs
@@ -8,13 +8,10 @@ use crate::{
         ebi_output::{EbiOutput, EbiOutputType},
         ebi_trait::EbiTrait,
     },
-    ebi_traits::{
-        ebi_trait_finite_language::EbiTraitFiniteLanguage,
-        ebi_trait_finite_stochastic_language::EbiTraitFiniteStochasticLanguage,
-    },
-    math::fraction::Fraction,
+    ebi_traits::
+        ebi_trait_finite_language::EbiTraitFiniteLanguage
+    ,
     techniques::{
-        directly_follows_model_miner::DirectlyFollowsModelMinerFiltering,
         flower_miner::{FlowerMinerDFA, FlowerMinerTree},
         prefix_tree_miner::{PrefixTreeMinerDFA, PrefixTreeMinerTree},
     },
@@ -26,41 +23,11 @@ pub const EBI_DISCOVER_NON_STOCHASTIC: EbiCommand = EbiCommand::Group {
     explanation_short: "Discover a non-stochastic process model.",
     explanation_long: None,
     children: &[
-        &EBI_DISCOVER_NON_STOCHASTIC_DIRECTLY_FOLLOWS,
         &EBI_DISCOVER_NON_STOCHASTIC_FLOWER,
         &EBI_DISCOVER_NON_STOCHASTIC_PREFIX,
     ],
 };
 
-pub const EBI_DISCOVER_NON_STOCHASTIC_DIRECTLY_FOLLOWS: EbiCommand = EbiCommand::Command {
-    name_short: "dfg",
-    name_long: Some("directly-follows-graph"),
-    explanation_short: "Discover a directly follows graph.",
-    explanation_long: Some("Discover a directly follows graph with at least the given fitness."),
-    latex_link: Some("~\\cite{DBLP:conf/icpm/LeemansPW19}"),
-    cli_command: None,
-    exact_arithmetic: true,
-    input_types: &[
-        &[&EbiInputType::Trait(EbiTrait::FiniteStochasticLanguage)],
-        &[&EbiInputType::Fraction],
-    ],
-    input_names: &["LANG", "MIN_FITNESS"],
-    input_helps: &[
-        "A finite stochastic language.",
-        "The minimum fitness of the resulting model.",
-    ],
-    execute: |mut inputs, _| {
-        let mut lang = inputs
-            .remove(0)
-            .to_type::<dyn EbiTraitFiniteStochasticLanguage>()?;
-        let minimum_fitness = inputs.remove(0).to_type::<Fraction>()?;
-        Ok(EbiOutput::Object(EbiObject::DirectlyFollowsGraph(
-            lang.mine_directly_follows_model_filtering(&minimum_fitness)?,
-        )))
-    },
-    output_type: &EbiOutputType::ObjectType(EbiObjectType::DirectlyFollowsGraph),
-};
-
 pub const EBI_DISCOVER_NON_STOCHASTIC_FLOWER: EbiCommand = EbiCommand::Group {
     name_short: "flw",
     name_long: Some("flower"),