Index: benchmark/readyQ/churn.cpp
===================================================================
--- benchmark/readyQ/churn.cpp	(revision 8197ca5832b7d08993e91151d670d89cfc6c532f)
+++ benchmark/readyQ/churn.cpp	(revision 3b80db89ad8057ef837786b049cd89765ab7a20d)
@@ -54,5 +54,6 @@
 			Fibre * threads[nthreads];
 			for(unsigned i = 0; i < nthreads; i++) {
-				threads[i] = new Fibre( reinterpret_cast<void (*)(void *)>(churner_main), &thddata[i] );
+				threads[i] = new Fibre();
+				threads[i]->run(churner_main, &thddata[i]);
 			}
 			printf("Starting\n");
Index: benchmark/readyQ/cycle.cpp
===================================================================
--- benchmark/readyQ/cycle.cpp	(revision 8197ca5832b7d08993e91151d670d89cfc6c532f)
+++ benchmark/readyQ/cycle.cpp	(revision 3b80db89ad8057ef837786b049cd89765ab7a20d)
@@ -46,5 +46,6 @@
 			}
 			for(unsigned i = 0; i < tthreads; i++) {
-				threads[i] = new Fibre( reinterpret_cast<void (*)(void *)>(partner_main), &thddata[i] );
+				threads[i] = new Fibre();
+				threads[i]->run( partner_main, &thddata[i] );
 			}
 			printf("Starting\n");
Index: benchmark/readyQ/yield.cpp
===================================================================
--- benchmark/readyQ/yield.cpp	(revision 8197ca5832b7d08993e91151d670d89cfc6c532f)
+++ benchmark/readyQ/yield.cpp	(revision 3b80db89ad8057ef837786b049cd89765ab7a20d)
@@ -10,5 +10,5 @@
 	unsigned long long count = 0;
 	for(;;) {
-		Fibre::forceYield();
+		Fibre::yield();
 		count++;
 		if( clock_mode && stop) break;
@@ -35,5 +35,6 @@
 			Fibre * threads[nthreads];
 			for(unsigned i = 0; i < nthreads; i++) {
-				threads[i] = new Fibre( reinterpret_cast<void (*)(void *)>(fibre_main), nullptr );
+				threads[i] = new Fibre();
+				threads[i]->run(fibre_main);
 			}
 			printf("Starting\n");
