diff --git a/include/gsm/controlled_rotator_cc.h b/include/gsm/controlled_rotator_cc.h
new file mode 100644
index 0000000..5339660
--- /dev/null
+++ b/include/gsm/controlled_rotator_cc.h
@@ -0,0 +1,59 @@
+/* -*- c++ -*- */
+/* 
+ * Copyright 2014 <+YOU OR YOUR COMPANY+>.
+ * 
+ * This is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ * 
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this software; see the file COPYING.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+
+#ifndef INCLUDED_GSM_CONTROLLED_ROTATOR_CC_H
+#define INCLUDED_GSM_CONTROLLED_ROTATOR_CC_H
+
+#include <gsm/api.h>
+#include <gnuradio/sync_block.h>
+
+namespace gr {
+  namespace gsm {
+
+    /*!
+     * \brief <+description of block+>
+     * \ingroup gsm
+     *
+     */
+    class GSM_API controlled_rotator_cc : virtual public sync_block
+    {
+     public:
+      typedef boost::shared_ptr<controlled_rotator_cc> sptr;
+
+      /*!
+       * \brief Return a shared_ptr to a new instance of gsm::controlled_rotator_cc.
+       *
+       * To avoid accidental use of raw pointers, gsm::controlled_rotator_cc's
+       * constructor is in a private implementation
+       * class. gsm::controlled_rotator_cc::make is the public interface for
+       * creating new instances.
+       */
+      static sptr make(double phase_inc, double samp_rate);
+      
+      virtual void set_phase_inc(double phase_inc) = 0;
+      virtual void set_samp_rate(double samp_rate) = 0;
+    };
+
+  } // namespace gsm
+} // namespace gr
+
+#endif /* INCLUDED_GSM_CONTROLLED_ROTATOR_CC_H */
+
