diff --git a/src/com/t_oster/liblasercut/LaserCutter.java b/src/com/t_oster/liblasercut/LaserCutter.java
index e8ea2d517df020b9a5ed90867f5dcd0652d59754..e76d27b5a4d57e08ccdb893056bbb1aaac51c5bb 100644
--- a/src/com/t_oster/liblasercut/LaserCutter.java
+++ b/src/com/t_oster/liblasercut/LaserCutter.java
@@ -153,13 +153,27 @@ public abstract class LaserCutter implements Cloneable
    */
   public abstract void setSettingValue(String attribute, String value);
   
+  /**
+   * Override this method, return true and override the
+   * estimateJobDuration-method to allow Programs to use
+   * your driver to estimate the duration of a job before
+   * executing
+   * @return 
+   */
+  public boolean canEstimateJobDuration()
+  {
+    return false;
+  }
   /**
    * Returns an estimated time, how long the job would take
    * in seconds
    * @param job
    * @return 
    */
-  public abstract int estimateJobDuration(LaserJob job);
+  public int estimateJobDuration(LaserJob job)
+  {
+    throw new RuntimeException("Method not implemented");
+  }
   
   public LaserProperty getLaserPropertyForVectorPart()
   {
diff --git a/src/com/t_oster/liblasercut/drivers/EpilogCutter.java b/src/com/t_oster/liblasercut/drivers/EpilogCutter.java
index f694eda3248a104d1661d91cc3d5238ff47719a0..47bdc7192a261ba4272031463ce9adb052c8a05d 100644
--- a/src/com/t_oster/liblasercut/drivers/EpilogCutter.java
+++ b/src/com/t_oster/liblasercut/drivers/EpilogCutter.java
@@ -848,6 +848,12 @@ abstract class EpilogCutter extends LaserCutter
     return Arrays.asList(attributes);
   }
 
+  @Override
+  public boolean canEstimateJobDuration()
+  {
+    return true;
+  }
+  
   @Override
   public int estimateJobDuration(LaserJob job)
   {
diff --git a/src/com/t_oster/liblasercut/drivers/LaosCutter.java b/src/com/t_oster/liblasercut/drivers/LaosCutter.java
index 1ed40e04bbb197bb3063eb7ad806a603908049f4..1a0996d6675c794f0719279d681d4a0f49fba883 100644
--- a/src/com/t_oster/liblasercut/drivers/LaosCutter.java
+++ b/src/com/t_oster/liblasercut/drivers/LaosCutter.java
@@ -813,12 +813,6 @@ public class LaosCutter extends LaserCutter
     }
   }
 
-  @Override
-  public int estimateJobDuration(LaserJob job)
-  {
-    return 10000;
-  }
-
   @Override
   public LaserCutter clone()
   {
diff --git a/src/com/t_oster/liblasercut/drivers/Lasersaur.java b/src/com/t_oster/liblasercut/drivers/Lasersaur.java
index e51ed7b0cc5febe5846d7f285fcc96f48a852f20..78e06a89dc72bcaad2cef6e1aaa397a1160f2cb1 100644
--- a/src/com/t_oster/liblasercut/drivers/Lasersaur.java
+++ b/src/com/t_oster/liblasercut/drivers/Lasersaur.java
@@ -544,11 +544,6 @@ public class Lasersaur extends LaserCutter {
     }
   }
 
-  @Override
-  public int estimateJobDuration(LaserJob job) {
-    return 10000;
-  }
-
   @Override
   public LaserCutter clone() {
     Lasersaur clone = new Lasersaur();