aos/common/control_loop/Timing=>aos/common/util/phased_loop
diff --git a/aos/common/common.gyp b/aos/common/common.gyp
index 41e0de8..4b3376b 100644
--- a/aos/common/common.gyp
+++ b/aos/common/common.gyp
@@ -167,36 +167,6 @@
       'includes': ['../build/queues.gypi'],
     },
     {
-      'target_name': 'timing_so',
-      'type': 'shared_library',
-      'sources': [
-        'control_loop/Timing.cpp'
-      ],
-      'variables': {'no_rsync': 1},
-      'dependencies': [
-      ],
-      'direct_dependent_settings': {
-        'variables': {
-          'jni_libs': [
-            'timing_so',
-          ],
-        },
-      },
-      'export_dependent_settings': [
-      ],
-    },
-    {
-      'target_name': 'timing',
-      'type': 'static_library',
-      'sources': [
-        'control_loop/Timing.cpp'
-      ],
-      'dependencies': [
-        '<(AOS)/build/aos.gyp:logging',
-        'time',
-      ],
-    },
-    {
       'target_name': 'controls',
       'type': 'static_library',
       'sources': [
@@ -205,7 +175,7 @@
       'dependencies': [
         '<(AOS)/common/messages/messages.gyp:robot_state',
         '<(AOS)/build/aos.gyp:logging',
-        'timing',
+        '<(AOS)/common/util/util.gyp:phased_loop',
         'time',
         'control_loop_queues',
         '<(AOS)/common/logging/logging.gyp:queue_logging',
@@ -215,7 +185,7 @@
       'export_dependent_settings': [
         '<(AOS)/common/messages/messages.gyp:robot_state',
         '<(AOS)/build/aos.gyp:logging',
-        'timing',
+        '<(AOS)/common/util/util.gyp:phased_loop',
         'time',
         'control_loop_queues',
         '<(AOS)/common/logging/logging.gyp:queue_logging',
diff --git a/aos/common/control_loop/ControlLoop-tmpl.h b/aos/common/control_loop/ControlLoop-tmpl.h
index 6323df5..dde33c0 100644
--- a/aos/common/control_loop/ControlLoop-tmpl.h
+++ b/aos/common/control_loop/ControlLoop-tmpl.h
@@ -1,9 +1,9 @@
 #include <stddef.h>
 
 #include "aos/common/logging/logging.h"
-#include "aos/common/control_loop/Timing.h"
 #include "aos/common/messages/robot_state.q.h"
 #include "aos/common/logging/queue_logging.h"
+#include "aos/common/util/phased_loop.h"
 
 #include "bbb/sensor_generation.q.h"
 
diff --git a/aos/common/control_loop/ControlLoop.h b/aos/common/control_loop/ControlLoop.h
index 0e5c144..8c0ab59 100644
--- a/aos/common/control_loop/ControlLoop.h
+++ b/aos/common/control_loop/ControlLoop.h
@@ -3,7 +3,6 @@
 
 #include <cstring>
 
-#include "aos/common/control_loop/Timing.h"
 #include "aos/common/type_traits.h"
 #include "aos/common/queue.h"
 #include "aos/common/time.h"
diff --git a/aos/common/control_loop/Timing.cpp b/aos/common/util/phased_loop.cc
similarity index 90%
rename from aos/common/control_loop/Timing.cpp
rename to aos/common/util/phased_loop.cc
index 8f42623..4b9dcdb 100644
--- a/aos/common/control_loop/Timing.cpp
+++ b/aos/common/util/phased_loop.cc
@@ -1,4 +1,4 @@
-#include "aos/common/control_loop/Timing.h"
+#include "aos/common/util/phased_loop.h"
 
 #include <string.h>
 
diff --git a/aos/common/control_loop/Timing.h b/aos/common/util/phased_loop.h
similarity index 72%
rename from aos/common/control_loop/Timing.h
rename to aos/common/util/phased_loop.h
index 139376d..d231449 100644
--- a/aos/common/control_loop/Timing.h
+++ b/aos/common/util/phased_loop.h
@@ -1,5 +1,5 @@
-#ifndef __AOS_TIMEOUT_H_
-#define __AOS_TIMEOUT_H_
+#ifndef AOS_COMMON_UTIL_PHASED_LOOP_H_
+#define AOS_COMMON_UTIL_PHASED_LOOP_H_
 
 #include <time.h>
 #include <string>
@@ -16,4 +16,4 @@
 }  // namespace time
 }  // namespace aos
 
-#endif
+#endif  // AOS_COMMON_UTIL_PHASED_LOOP_H_
diff --git a/aos/common/util/util.gyp b/aos/common/util/util.gyp
index 6dd2aa2..682db82 100644
--- a/aos/common/util/util.gyp
+++ b/aos/common/util/util.gyp
@@ -8,6 +8,17 @@
       ],
     },
     {
+      'target_name': 'phased_loop',
+      'type': 'static_library',
+      'sources': [
+        'phased_loop.cc',
+      ],
+      'dependencies': [
+        '<(AOS)/build/aos.gyp:logging',
+        '<(AOS)/common/common.gyp:time',
+      ],
+    },
+    {
       'target_name': 'log_interval',
       'type': 'static_library',
       'sources': [