diff --git a/srp_analysis/src/main.rs b/srp_analysis/src/main.rs
index 2ddefcaa2b592215c48a59cf6999710255e31901..03bb3771629543b0c41475d6df53dee8bd8e265c 100644
--- a/srp_analysis/src/main.rs
+++ b/srp_analysis/src/main.rs
@@ -75,8 +75,7 @@ fn main() {
     println!("tr: {:?}", tr);
 
     for t in &tasks {
-        block_time(t, &tasks, &ip, &tr);
-        interference_time(t, &tasks);
+        response_time(t, &tasks, &ip, &tr);
     }
 }
 
@@ -126,12 +125,10 @@ fn wcet(trace: &Trace) -> u32 {
  *          - B(t) is the blocking time for task t, and
  *          - I(t) is the interference (preemptions) to task t
  */
-fn response_time(task: &Task) -> u32 {
-    //let r: u32 = block_time(task) + wcet(task) + interference_time(task);
-    //println!("response_time {:?}", r);
-    //return r;
-    // TODO: Implement
-    return 0;
+fn response_time(task: &Task, tasks: &Tasks, ip: &IdPrio, tr: &TaskResources) -> u32 {
+    let r: u32 = block_time(task, tasks, ip, tr) + wcet(&task.trace) + interference_time(task, tasks);
+    println!("response_time {:?}", r);
+    return r;
 }