diff --git a/maquinitas-tidal.cabal b/maquinitas-tidal.cabal
--- a/maquinitas-tidal.cabal
+++ b/maquinitas-tidal.cabal
@@ -1,5 +1,5 @@
 name:                maquinitas-tidal
-version:             0.2.13
+version:             0.2.16
 synopsis:            library for MIDI control of hardware
 description:         maquinitas is a library for MIDI control of hardware
 homepage:            https://github.com/maquinitas/maquinitas-tidal
@@ -18,9 +18,11 @@
                       Korg.VolcaBeats
                       Korg.VolcaBass
                       Korg.VolcaKeys
+                      Korg.MR16
+                      Boss.DR880
+                      Roland.TB3
                       MFBTanzbar
                       OtoBam
-                      Roland
 
   -- other-modules:
   -- other-extensions:
diff --git a/src/Boss/DR880.hs b/src/Boss/DR880.hs
new file mode 100644
--- /dev/null
+++ b/src/Boss/DR880.hs
@@ -0,0 +1,99 @@
+-- maquinitas-tidal
+-- parameters for instruments by Korg
+
+module Boss.DR880 where
+
+  import qualified Sound.Tidal.Params
+  import Sound.Tidal.Pattern
+
+  -- Drum machine 1
+  
+  drum1 :: Pattern String -> ControlPattern
+  drum1 = Sound.Tidal.Params.n . (subtract 60 . drum1midi <$>)
+  
+  drum1midi :: Num a => String -> a
+  drum1midi m =
+    case m of
+      "kick1"         -> 36
+      "kick2"         -> 35
+      "snare1"        -> 38
+      "snare2"        -> 40
+      "closedHH"      -> 42
+      "crossStick"    -> 37
+      "clap"          -> 39
+      "cowbell"       -> 56
+      "pedalHH"       -> 44
+      "openHH"        -> 46
+      "tom1"          -> 50
+      "tom2"          -> 48
+      "tom3"          -> 45
+      "tom4"          -> 41
+      "chinaCym"      -> 52
+      "crash1"        -> 49
+      "crash2"        -> 57
+      "splashCym"     -> 55
+      "bell"          -> 53
+      "ride"          -> 51
+      _               -> 0  -- no match
+
+  
+  -- Drum machine 2
+  
+  drum2 :: Pattern String -> ControlPattern
+  drum2 = Sound.Tidal.Params.n . (subtract 60 . drum2midi <$>)
+  
+  drum2midi :: Num a => String -> a
+  drum2midi m =
+    case m of
+      "kick1"       -> 60
+      "kick2"       -> 61
+      "snare1"      -> 62
+      "snare2"      -> 63
+      "closedHH"    -> 64
+      "crossStick"  -> 54
+      "clap"        -> 91
+      "cowbell"     -> 95
+      "pedalHH"     -> 96
+      "openHH"      -> 97
+      "tom1"        -> 69
+      "tom2"        -> 94
+      "tom3"        -> 70
+      "tom4"        -> 82
+      "chinaCym"    -> 92
+      "crash1"      -> 89
+      "crash2"      -> 90
+      "splashCym"   -> 93
+      "bell"        -> 84
+      "ride"        -> 59  
+      _             -> 0  -- no match
+
+
+  -- Drum machine 3
+  
+  drum3 :: Pattern String -> ControlPattern
+  drum3 = Sound.Tidal.Params.n . (subtract 60 . drum3midi <$>)
+  
+  drum3midi :: Num a => String -> a
+  drum3midi m =
+    case m of
+      "kick1"       -> 86
+      "kick2"       -> 87
+      "snare1"      -> 78
+      "snare2"      -> 79
+      "closedHH"    -> 83
+      "crossStick"  -> 76
+      "clap"        -> 77
+      "cowbell"     -> 85
+      "pedalHH"     -> 66
+      "openHH"      -> 65
+      "tom1"        -> 71
+      "tom2"        -> 72
+      "tom3"        -> 75
+      "tom4"        -> 67
+      "chinaCym"    -> 68
+      "crash1"      -> 73
+      "crash2"      -> 74
+      "splashCym"   -> 58
+      "bell"        -> 80
+      "ride"        -> 81
+      _             -> 0  -- no match
diff --git a/src/Korg/MR16.hs b/src/Korg/MR16.hs
new file mode 100644
--- /dev/null
+++ b/src/Korg/MR16.hs
@@ -0,0 +1,39 @@
+-- maquinitas-tidal
+
+module Korg.MR16 where
+
+  import Korg.KorgBase
+  import qualified Sound.Tidal.Params
+  import Sound.Tidal.Pattern
+
+  -- MIDI notes
+  -- Korg MR-16 drum machine
+
+  mr16 :: Pattern String -> ControlPattern
+  mr16 = Sound.Tidal.Params.n . (subtract 60 . mr16MidiNote <$>)
+  
+  mr16MidiNote :: Num a => String -> a
+  mr16MidiNote m =
+    case m of
+      "bd" -> 35 -- bass drum
+      "rs" -> 37 -- rimshot
+      "sd" -> 38 -- snare drum
+      "cp" -> 39 -- clap
+      "lt" -> 41 -- low tom
+      "ch" -> 42 -- closed hihat
+      "oh" -> 46 -- open hihat
+      "ht" -> 47 -- high tom
+      "cr" -> 49 -- crash
+      "rd" -> 51 -- ride
+      "lc" -> 52 -- low conga
+      "hc" -> 53 -- high conga
+      "ta" -> 54 -- tambourine
+      "cb" -> 56 -- cow bell
+      "ti" -> 57 -- timbale
+      "ca" -> 58 -- cabasa
+      "wb" -> 60 -- wood block
+      "la" -> 61 -- low agogo
+      "ha" -> 63 -- high agogo
+      "mp" -> 64 -- metronome piano
+      "mf" -> 65 -- metronome forte
+      _    -> 0  -- no match
diff --git a/src/Roland.hs b/src/Roland.hs
deleted file mode 100644
--- a/src/Roland.hs
+++ /dev/null
@@ -1,99 +0,0 @@
--- maquinitas-tidal
--- parameters for instruments by Roland
-
-module Roland where
-  import Sound.Tidal.Params
-  import Sound.Tidal.Pattern
-  
-  -- i copied this from volcaBeats
-  -- where this notation was used for midi notes
-  -- so this needs to be adapted to CC
-  sh01a :: Pattern String -> ControlPattern
-  sh01a = n . (subtract 60 . sh01aMidiCC <$>)
-
-  sh01aMidiCC :: Num a => String -> a
-  sh01aMidiCC "modulation" = 1
-  sh01aMidiCC "lfoRate" = 3
-  sh01aMidiCC "portamentoTime" = 5
-  sh01aMidiCC "expressionPedal" = 11
-  sh01aMidiCC "lfoWaveform" = 12
-  sh01aMidiCC "vcoModDepth" = 13
-  sh01aMidiCC "vcoRange" = 14
-  sh01aMidiCC "vcoPulseWidth" = 15
-  sh01aMidiCC "vcoPwmSource" = 16
-  sh01aMidiCC "vcoModSens" = 17
-  sh01aMidiCC "vcoBendDepth" = 18
-  sh01aMidiCC "vcoPwmLevel" = 19
-  sh01aMidiCC "vcoSawLevel" = 20
-  sh01aMidiCC "vcoSubLevel" = 21
-  sh01aMidiCC "vcoSubType" = 22
-  sh01aMidiCC "vcoNoiseLevel" = 23
-  sh01aMidiCC "vcfEnvDepth" = 24
-  sh01aMidiCC "vcfModDepth" = 25
-  sh01aMidiCC "vcfKeyFollow" = 26
-  sh01aMidiCC "vcfBendDepth" = 27
-  sh01aMidiCC "vcaEnvSw" = 28
-  sh01aMidiCC "vcaEnvMode" = 29
-  sh01aMidiCC "envSustain" = 30
-  sh01aMidiCC "portamentMode" = 31
-  sh01aMidiCC "hold" = 64
-  sh01aMidiCC "portamento" = 65
-  sh01aMidiCC "vcfResonance" = 71
-  sh01aMidiCC "envRelease" = 72
-  sh01aMidiCC "envAttack" = 73
-  sh01aMidiCC "vcfCutoff" = 74
-  sh01aMidiCC "envDecay" = 75
-  sh01aMidiCC "tune" = 76
-  sh01aMidiCC "transposeSw" = 77
-  sh01aMidiCC "noiseMode" = 78
-  sh01aMidiCC "lfoMode" = 79
-  sh01aMidiCC "assignMode" = 80
-  sh01aMidiCC "chordVoice2Sw" = 81
-  sh01aMidiCC "chordVoice3Sw" = 82
-  sh01aMidiCC "chordVoice4Sw" = 83
-  sh01aMidiCC "chordVoice2KeyShift" = 85
-  sh01aMidiCC "chordVoice3KeyShift" = 86
-  sh01aMidiCC "chordVoice4KeyShift" = 87
-
-  -- TODO: also needs to be adapted
-  tr08 :: Pattern String -> ControlPattern
-  tr08 = n . (subtract 60 . tr08MidiCC <$>)
-
-  tr08MidiCC "bdTune" = 20
-  tr08MidiCC "bdTone" = 21
-  tr08MidiCC "bdComp" = 22
-  tr08MidiCC "bdDecay" = 23
-  tr08MidiCC "bdLevel" = 24
-  tr08MidiCC "sdTone" = 25
-  tr08MidiCC "sdSnappy" = 26
-  tr08MidiCC "sdComp" = 27
-  tr08MidiCC "sdDecay" = 28
-  tr08MidiCC "sdLevel" = 29
-  tr08MidiCC "ltTune" = 46
-  tr08MidiCC "ltDecay" = 47
-  tr08MidiCC "ltLevel" = 48
-  tr08MidiCC "mtTune" = 49
-  tr08MidiCC "mtDecay" = 50
-  tr08MidiCC "mtLevel" = 51
-  tr08MidiCC "htTune" = 52
-  tr08MidiCC "htDecay" = 53
-  tr08MidiCC "htLevel" = 54
-  tr08MidiCC "rsTune" = 55
-  tr08MidiCC "rsDecay" = 56
-  tr08MidiCC "rsLevel" = 57
-  tr08MidiCC "cpTune" = 58
-  tr08MidiCC "cpDecay" = 59
-  tr08MidiCC "cpLevel" = 60
-  tr08MidiCC "chTune" = 61
-  tr08MidiCC "chDecay" = 62
-  tr08MidiCC "chLevel" = 63
-  tr08MidiCC "accent" = 71
-  tr08MidiCC "ohTune" = 80
-  tr08MidiCC "ohDecay" = 81
-  tr08MidiCC "ohLevel" = 82
-  tr08MidiCC "cyTune" = 83
-  tr08MidiCC "cyDecay" = 84
-  tr08MidiCC "cyLevel" = 85
-  tr08MidiCC "cbTune" = 86
-  tr08MidiCC "cbDecay" = 87
-  tr08MidiCC "cbLevel" = 88
diff --git a/src/Roland/TB3.hs b/src/Roland/TB3.hs
new file mode 100644
--- /dev/null
+++ b/src/Roland/TB3.hs
@@ -0,0 +1,30 @@
+-- maquinitas-tidal
+-- parameters for instruments by Korg
+
+module Roland.TB3 where
+
+  import qualified Sound.Tidal.Params
+  import Sound.Tidal.Pattern
+
+  -- ControlChange list
+
+  ccn :: Pattern String -> ControlPattern
+  ccn = Sound.Tidal.Params.ccn . (ccnList <$>)
+  
+  ccnList :: Num a => String -> a
+  ccnList m =
+    case m of
+      "padZ"          -> 1
+      "padYplay"      -> 11
+      "padXenvMod"    -> 12
+      "padYenvMod"    -> 13
+      "accent"        -> 16
+      "effect"        -> 17
+      "scatterType"   -> 68
+      "scatterDepth"  -> 69
+      "resonance"     -> 71
+      "cutoff"        -> 74
+      "patternSlide"  -> 102
+      "patternAccent" -> 103
+      "tuning"        -> 104
+      _                 -> 0
