Index: libcfa/src/concurrency/locks.cfa
===================================================================
--- libcfa/src/concurrency/locks.cfa	(revision 797a193691908bb483646b845b85be24f6e4beaf)
+++ libcfa/src/concurrency/locks.cfa	(revision c20533eac59c1a6c117eec0ffaeabbb99d4ed54c)
@@ -176,9 +176,17 @@
 size_t get_recursion_count( multiple_acquisition_lock & this ){ return get_recursion_count( (blocking_lock &)this ); }
 
-///////////////////////////////////////////////////////////////////
-//// condition variable
-///////////////////////////////////////////////////////////////////
 
 forall(dtype L | is_blocking_lock(L)) {
+	struct alarm_node_wrap {
+		alarm_node_t alarm_node;
+		condition_variable(L) * cond;
+		info_thread(L) * i;
+	};
+
+	void ?{}( alarm_node_wrap(L) & this, Time alarm, Duration period, Alarm_Callback callback ) {
+		this.alarm_node{ callback, alarm, period };
+	}
+
+	void ^?{}( alarm_node_wrap(L) & this ) { }
 
 	void timeout_handler ( alarm_node_wrap(L) & this ) with( this ) {
@@ -205,4 +213,12 @@
 	void alarm_node_wrap_cast( alarm_node_t & a ) { timeout_handler( (alarm_node_wrap(L) &)a ); }
 
+}
+
+///////////////////////////////////////////////////////////////////
+//// condition variable
+///////////////////////////////////////////////////////////////////
+
+forall(dtype L | is_blocking_lock(L)) {
+
 	void ?{}( condition_variable(L) & this ){
 		this.lock{};
@@ -212,10 +228,4 @@
 
 	void ^?{}( condition_variable(L) & this ){ }
-
-	void ?{}( alarm_node_wrap(L) & this, Time alarm, Duration period, Alarm_Callback callback ) {
-		this.alarm_node{ callback, alarm, period };
-	}
-
-	void ^?{}( alarm_node_wrap(L) & this ) { }
 
 	void process_popped( condition_variable(L) & this, info_thread(L) & popped ) with( this ) {
Index: libcfa/src/concurrency/locks.hfa
===================================================================
--- libcfa/src/concurrency/locks.hfa	(revision 797a193691908bb483646b845b85be24f6e4beaf)
+++ libcfa/src/concurrency/locks.hfa	(revision c20533eac59c1a6c117eec0ffaeabbb99d4ed54c)
@@ -3,5 +3,4 @@
 #include <stdbool.h>
 
-#include "bits/algorithm.hfa"
 #include "bits/locks.hfa"
 #include "bits/sequence.hfa"
@@ -12,5 +11,4 @@
 #include "time.hfa"
 #include <sys/time.h>
-#include "alarm.hfa"
 
 ///////////////////////////////////////////////////////////////////
@@ -149,19 +147,4 @@
 	void ^?{}( condition_variable(L) & this );
 
-	struct alarm_node_wrap {
-		alarm_node_t alarm_node;
-
-		condition_variable(L) * cond;
-
-		info_thread(L) * i;
-	};
-
-	void ?{}( alarm_node_wrap(L) & this, Time alarm, Duration period, Alarm_Callback callback );
-	void ^?{}( alarm_node_wrap(L) & this );
-
-	void alarm_node_callback( alarm_node_wrap(L) & this );
-
-	void alarm_node_wrap_cast( alarm_node_t & a );
-
 	bool notify_one( condition_variable(L) & this );
 	bool notify_all( condition_variable(L) & this );
