diff --git a/src/instr_abstract.hh b/src/instr_abstract.hh
index d161051..7ef91e0 100644
--- a/src/instr_abstract.hh
+++ b/src/instr_abstract.hh
@@ -16,8 +16,8 @@ namespace Heck {
             virtual void ctl(unsigned int ctl_nr, float val) = 0;
 
             // pos must be either 0,1,2
-            virtual void switch_mode(unsigned int pos) = 0;
-            virtual void switch_variation(unsigned int pos) = 0;
+            virtual void switch_mode1(unsigned int pos) = 0;
+            virtual void switch_mode2(unsigned int pos) = 0;
             virtual float nextsample() = 0;
         private:
         };
diff --git a/src/instr_fm.cc b/src/instr_fm.cc
index 2d6e7fe..fdaeaa7 100644
--- a/src/instr_fm.cc
+++ b/src/instr_fm.cc
@@ -45,8 +45,8 @@ namespace Heck {
             }
         }
 
-        void FM::switch_mode(unsigned int pos) {}
-        void FM::switch_variation(unsigned int pos) {}
+        void FM::switch_mode1(unsigned int pos) {}
+        void FM::switch_mode2(unsigned int pos) {}
 
         float FM::nextsample()
         {
diff --git a/src/instr_fm.hh b/src/instr_fm.hh
index e202ac8..f374d79 100644
--- a/src/instr_fm.hh
+++ b/src/instr_fm.hh
@@ -17,8 +17,8 @@ namespace Heck {
 
             void trigger() override;
             void ctl(unsigned int ctl_nr, float val) override;
-            void switch_mode(unsigned int pos) override;
-            void switch_variation(unsigned int pos) override;
+            void switch_mode1(unsigned int pos) override;
+            void switch_mode2(unsigned int pos) override;
 
             float nextsample() override;
 
diff --git a/src/instr_kick.cc b/src/instr_kick.cc
index 6aa6837..0ea93ae 100644
--- a/src/instr_kick.cc
+++ b/src/instr_kick.cc
@@ -31,8 +31,8 @@ namespace Heck {
         }
 
         void Kick::ctl(unsigned int ctl_nr, float val) {}
-        void Kick::switch_mode(unsigned int pos) {}
-        void Kick::switch_variation(unsigned int pos) {}
+        void Kick::switch_mode1(unsigned int pos) {}
+        void Kick::switch_mode2(unsigned int pos) {}
 
         float Kick::nextsample()
         {
diff --git a/src/instr_kick.hh b/src/instr_kick.hh
index 64f27e4..eaea23d 100644
--- a/src/instr_kick.hh
+++ b/src/instr_kick.hh
@@ -17,8 +17,8 @@ namespace Heck {
 
             void trigger() override;
             void ctl(unsigned int ctl_nr, float val) override;
-            void switch_mode(unsigned int pos) override;
-            void switch_variation(unsigned int pos) override;
+            void switch_mode1(unsigned int pos) override;
+            void switch_mode2(unsigned int pos) override;
 
             float nextsample() override;
         private:
diff --git a/src/instr_noise.cc b/src/instr_noise.cc
index ae420ac..943c9c4 100644
--- a/src/instr_noise.cc
+++ b/src/instr_noise.cc
@@ -21,8 +21,8 @@ namespace Heck {
         }
 
         void Noise::ctl(unsigned int ctl_nr, float val) {}
-        void Noise::switch_mode(unsigned int pos) {}
-        void Noise::switch_variation(unsigned int pos) {}
+        void Noise::switch_mode1(unsigned int pos) {}
+        void Noise::switch_mode2(unsigned int pos) {}
 
         float Noise::nextsample()
         {
diff --git a/src/instr_noise.hh b/src/instr_noise.hh
index 2e24581..3dfd985 100644
--- a/src/instr_noise.hh
+++ b/src/instr_noise.hh
@@ -17,8 +17,8 @@ namespace Heck {
 
             void trigger() override;
             void ctl(unsigned int ctl_nr, float val) override;
-            void switch_mode(unsigned int pos) override;
-            void switch_variation(unsigned int pos) override;
+            void switch_mode1(unsigned int pos) override;
+            void switch_mode2(unsigned int pos) override;
 
             float nextsample() override;
         private: