Index: src/libcfa/concurrency/kernel
===================================================================
--- src/libcfa/concurrency/kernel	(revision eb2e723e2366bc9652cf9888645a9249f5fd129a)
+++ src/libcfa/concurrency/kernel	(revision 4a9ccc35f7b5fed64bf53eee245fc9caa37f687d)
@@ -20,18 +20,37 @@
 #include <stdbool.h>
 
+#include "invoke.h"
+
+//-----------------------------------------------------------------------------
+// Cluster
+struct cluster {
+	simple_thread_list ready_queue;
+};
+
+void ?{}(cluster * this);
+void ^?{}(cluster * this);
+
+//-----------------------------------------------------------------------------
+// Processor
 struct processor {
 	struct processorCtx_t * ctx;
-	unsigned int thread_index;
-	unsigned int thread_count;
-	struct thread_h * threads[10];
+	cluster * cltr;
+	coroutine * current_coroutine;
+	thread_h * current_thread;
 	bool terminated;
 };
 
-void ?{}(processor * this);
+void ?{}(processor * this, cluster * cltr);
 void ^?{}(processor * this);
 
-void scheduler_add( struct thread_h * thrd );
-void scheduler_remove( struct thread_h * thrd );
-void kernel_run( void );
+
+//-----------------------------------------------------------------------------
+// Locks
+
+void ?{}(simple_lock * this);
+void ^?{}(simple_lock * this);
+
+void lock( simple_lock * );
+void unlock( simple_lock * );
 
 #endif //KERNEL_H
