diff --git a/scheduler/periodic-task.cc b/scheduler/periodic-task.cc
index b8fd3a7..32bae6a 100644
--- a/scheduler/periodic-task.cc
+++ b/scheduler/periodic-task.cc
@@ -22,9 +22,10 @@
 #include "periodic-task.h"
 #include <utility>
 
-PeriodicTask::PeriodicTask(const Callback &callback, const Tag &tag, const SchedulerPtr &scheduler, const IntervalGeneratorPtr &generator)
-             : Task(callback, tag, scheduler)
-             , m_generator(generator)
+PeriodicTask::PeriodicTask(const Callback &callback, const Tag &tag, const SchedulerPtr &scheduler,
+                           IntervalGeneratorPtr generator)
+  : Task(callback, tag, scheduler)
+  , m_generator(generator)
 {
 }
 
diff --git a/scheduler/periodic-task.h b/scheduler/periodic-task.h
index 8536b6f..f36d71a 100644
--- a/scheduler/periodic-task.h
+++ b/scheduler/periodic-task.h
@@ -32,7 +32,7 @@
   // generator is needed only when this is a periodic task
   // two simple generators implementation (SimpleIntervalGenerator and RandomIntervalGenerator) are provided;
   // if user needs more complex pattern in the intervals between calls, extend class IntervalGenerator
-  PeriodicTask(const Callback &callback, const Tag &tag, const SchedulerPtr &scheduler, const IntervalGeneratorPtr &generator);
+  PeriodicTask(const Callback &callback, const Tag &tag, const SchedulerPtr &scheduler, IntervalGeneratorPtr generator);
   virtual ~PeriodicTask(){}
 
   // invoke callback, reset self and ask scheduler to schedule self with the next delay interval
diff --git a/scheduler/scheduler.cc b/scheduler/scheduler.cc
index e4f93e4..225e484 100644
--- a/scheduler/scheduler.cc
+++ b/scheduler/scheduler.cc
@@ -56,11 +56,14 @@
     {
       cout << "scheduler loop break error" << endl;
     }
-    ReadLock lock(m_mutex);
-    if (!m_running)
+    
     {
-      cout << "scheduler loop break normal" << endl;
-      break;
+      ReadLock lock(m_mutex);
+      if (!m_running)
+        {
+          cout << "scheduler loop break normal" << endl;
+          break;
+        }
     }
   }
 }
@@ -79,13 +82,13 @@
 void
 Scheduler::shutdown()
 {
-  WriteLock lock(m_mutex);
-  if (m_running)
   {
-    event_base_loopbreak(m_base);
-    m_thread.join();
+    WriteLock lock(m_mutex);
     m_running = false;
   }
+  
+  event_base_loopbreak(m_base);
+  m_thread.join();
 }
 
 bool
diff --git a/scheduler/task.cc b/scheduler/task.cc
index cfe48c1..0d09199 100644
--- a/scheduler/task.cc
+++ b/scheduler/task.cc
@@ -60,8 +60,11 @@
 void
 Task::setTv(double delay)
 {
+  // Alex: when using abs function, i would recommend use it with std:: prefix, otherwise
+  // the standard one may be used, which converts everything to INT, making a lot of problems
   double intPart, fraction;
-  fraction = modf(abs(delay), &intPart);
+  fraction = modf(std::abs(delay), &intPart);
+
   m_tv->tv_sec = static_cast<int>(intPart);
   m_tv->tv_usec = static_cast<int>((fraction * 1000000));
 }
