diff --git a/Assignment/Task 3/scheduler.h b/Assignment/Task 3/scheduler.h
new file mode 100644
index 0000000000000000000000000000000000000000..da6e6088221e71b711f04d63afa7f022ab9fd61c
--- /dev/null
+++ b/Assignment/Task 3/scheduler.h	
@@ -0,0 +1,23 @@
+#ifndef SCHEDULER_H
+#define SCHEDULER_H
+
+#include <deque>
+#include "fiber.h"
+
+class scheduler {
+private:
+    std::deque<fiber*> fibers_;
+    Context context_;
+
+public:
+    scheduler();
+    ~scheduler();
+
+    void spawn(fiber* f);
+    void do_it();
+    void fiber_exit();
+    void yield(fiber* f);
+};
+
+#endif // SCHEDULER_H
+