diff --git a/keyboards/rama/m10_b/config.h b/keyboards/rama/m10_b/config.h
index de626dba53..144f88d56d 100644
--- a/keyboards/rama/m10_b/config.h
+++ b/keyboards/rama/m10_b/config.h
@@ -26,7 +26,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define DEVICE_VER      0x0001
 #define MANUFACTURER    RAMA.WORKS
 #define PRODUCT         RAMA M10-B
-#define DESCRIPTION     RAMA M10-B Macropad
+#define DESCRIPTION     RAMA M10-B
 
 /* key matrix size */
 #define MATRIX_ROWS 1
@@ -186,4 +186,26 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
 //#define MIDI_TONE_KEYCODE_OCTAVES 1
 
+//#define WT_MONO_BACKLIGHT
+
+#define DYNAMIC_KEYMAP_LAYER_COUNT 4
+
+// EEPROM usage
+
+// TODO: refactor with new user EEPROM code (coming soon)
+#define EEPROM_MAGIC 0x451F
+#define EEPROM_MAGIC_ADDR 32
+// Bump this every time we change what we store
+// This will automatically reset the EEPROM with defaults
+// and avoid loading invalid data from the EEPROM
+#define EEPROM_VERSION 0x08
+#define EEPROM_VERSION_ADDR 34
+
+// Dynamic keymap starts after EEPROM version
+#define DYNAMIC_KEYMAP_EEPROM_ADDR 35
+// Dynamic macro starts after dynamic keymaps (35+(4*10*2)) = (35+80)
+#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 115
+#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 909
+#define DYNAMIC_KEYMAP_MACRO_COUNT 16
+
 #endif
diff --git a/keyboards/rama/m10_b/keymaps/default/keymap.c b/keyboards/rama/m10_b/keymaps/default/keymap.c
index 8002b8c7cd..c307bcb2a7 100644
--- a/keyboards/rama/m10_b/keymaps/default/keymap.c
+++ b/keyboards/rama/m10_b/keymaps/default/keymap.c
@@ -6,21 +6,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     		KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_0 )
 
 };
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
-    return MACRO_NONE;
-}
-
-void matrix_init_user(void)
-{
-}
-
-void matrix_scan_user(void)
-{
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record)
-{
-    return true;
-}
diff --git a/keyboards/rama/m10_b/keymaps/knops/config.h b/keyboards/rama/m10_b/keymaps/knops/config.h
index d150575c1a..7c3ec9601d 100644
--- a/keyboards/rama/m10_b/keymaps/knops/config.h
+++ b/keyboards/rama/m10_b/keymaps/knops/config.h
@@ -19,6 +19,7 @@
 
 #include "../../config.h"
 
-// place overrides here
+#undef RAW_ENABLE
+#undef DYNAMIC_KEYMAP_ENABLE
 
 #endif
diff --git a/keyboards/rama/m10_b/m10_b.c b/keyboards/rama/m10_b/m10_b.c
index f43f6e2a19..ccff6d62c9 100644
--- a/keyboards/rama/m10_b/m10_b.c
+++ b/keyboards/rama/m10_b/m10_b.c
@@ -1,4 +1,4 @@
-/* Copyright 2018 Wilba
+/* Copyright 2018 Jason Williams (Wilba)
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -13,32 +13,5 @@
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
-#include "m10_b.h"
-/*
-void matrix_init_kb(void) {
-	// put your keyboard start-up code here
-	// runs once when the firmware starts up
 
-	matrix_init_user();
-}
-
-void matrix_scan_kb(void) {
-	// put your looping keyboard code here
-	// runs every cycle (a lot)
-
-	matrix_scan_user();
-}
-
-bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
-	// put your per-action keyboard code here
-	// runs for every action, just before processing by the firmware
-
-	return process_record_user(keycode, record);
-}
-
-void led_set_kb(uint8_t usb_led) {
-	// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
-
-	led_set_user(usb_led);
-}
-*/
+// Nothing to see here, move along... ;-)
diff --git a/keyboards/rama/m10_b/rules.mk b/keyboards/rama/m10_b/rules.mk
index 24df4632dd..70258b9ead 100644
--- a/keyboards/rama/m10_b/rules.mk
+++ b/keyboards/rama/m10_b/rules.mk
@@ -1,5 +1,7 @@
+# project specific files
+SRC =	keyboards/wilba_tech/wt_main.c
+
 # MCU name
-#MCU = at90usb1286
 MCU = atmega32u4
 
 # Processor frequency.
@@ -39,30 +41,28 @@ F_USB = $(F_CPU)
 OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
 
 
-# Boot Section Size in *bytes*
-#   Teensy halfKay   512
-#   Teensy++ halfKay 1024
-#   Atmel DFU loader 4096
-#   LUFA bootloader  4096
-#   USBaspLoader     2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
+# Boot Section
+BOOTLOADER = atmel-dfu
 
 
 # Build Options
 #   change yes to no to disable
 #
-BOOTMAGIC_ENABLE ?= no      # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE ?= yes       # Mouse keys(+4700)
-EXTRAKEY_ENABLE ?= yes       # Audio control and System control(+450)
-CONSOLE_ENABLE ?= yes        # Console for debug(+400)
-COMMAND_ENABLE ?= yes        # Commands for debug and configuration
+BOOTMAGIC_ENABLE = no      # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = no       # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes       # Audio control and System control(+450)
+CONSOLE_ENABLE = no        # Console for debug(+400)
+COMMAND_ENABLE = no        # Commands for debug and configuration
 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE ?= no       # Breathing sleep LED during USB suspend
+SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
 # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE ?= no            # USB Nkey Rollover
-BACKLIGHT_ENABLE ?= yes      # Enable keyboard backlight functionality on B7 by default
-MIDI_ENABLE ?= no            # MIDI support (+2400 to 4200, depending on config)
-UNICODE_ENABLE ?= no         # Unicode
-BLUETOOTH_ENABLE ?= no       # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE ?= no           # Audio output on port C6
-FAUXCLICKY_ENABLE ?= no      # Use buzzer to emulate clicky switches
+NKRO_ENABLE = yes            # USB Nkey Rollover
+BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality on B7 by default
+MIDI_ENABLE = no            # MIDI support (+2400 to 4200, depending on config)
+UNICODE_ENABLE = no         # Unicode
+BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE = no           # Audio output on port C6
+FAUXCLICKY_ENABLE = no      # Use buzzer to emulate clicky switches
+
+RAW_ENABLE = yes
+DYNAMIC_KEYMAP_ENABLE = yes
diff --git a/keyboards/rama/u80_a/config.h b/keyboards/rama/u80_a/config.h
index b5dc27598a..c733601e17 100644
--- a/keyboards/rama/u80_a/config.h
+++ b/keyboards/rama/u80_a/config.h
@@ -185,6 +185,8 @@
 /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
 //#define MIDI_TONE_KEYCODE_OCTAVES 1
 
+#define WT_MONO_BACKLIGHT
+
 #define DYNAMIC_KEYMAP_LAYER_COUNT 4
 
 // EEPROM usage
diff --git a/keyboards/rama/u80_a/rules.mk b/keyboards/rama/u80_a/rules.mk
index 67b04e350e..54479529be 100644
--- a/keyboards/rama/u80_a/rules.mk
+++ b/keyboards/rama/u80_a/rules.mk
@@ -69,4 +69,3 @@ FAUXCLICKY_ENABLE = no      # Use buzzer to emulate clicky switches
 
 RAW_ENABLE = yes
 DYNAMIC_KEYMAP_ENABLE = yes
-CIE1931_CURVE = yes
\ No newline at end of file
diff --git a/keyboards/wilba_tech/wt60_a/config.h b/keyboards/wilba_tech/wt60_a/config.h
index 8c18582a88..9eff7d7f1b 100644
--- a/keyboards/wilba_tech/wt60_a/config.h
+++ b/keyboards/wilba_tech/wt60_a/config.h
@@ -185,6 +185,8 @@
 /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
 //#define MIDI_TONE_KEYCODE_OCTAVES 1
 
+#define WT_MONO_BACKLIGHT
+
 #define DYNAMIC_KEYMAP_LAYER_COUNT 4
 
 // EEPROM usage
diff --git a/keyboards/wilba_tech/wt65_a/config.h b/keyboards/wilba_tech/wt65_a/config.h
index 88e9023539..88366edc04 100644
--- a/keyboards/wilba_tech/wt65_a/config.h
+++ b/keyboards/wilba_tech/wt65_a/config.h
@@ -185,6 +185,8 @@
 /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
 //#define MIDI_TONE_KEYCODE_OCTAVES 1
 
+#define WT_MONO_BACKLIGHT
+
 #define DYNAMIC_KEYMAP_LAYER_COUNT 4
 
 // EEPROM usage
diff --git a/keyboards/wilba_tech/wt80_a/config.h b/keyboards/wilba_tech/wt80_a/config.h
index ca03c366e9..7c15e4a5b1 100644
--- a/keyboards/wilba_tech/wt80_a/config.h
+++ b/keyboards/wilba_tech/wt80_a/config.h
@@ -185,6 +185,8 @@
 /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
 //#define MIDI_TONE_KEYCODE_OCTAVES 1
 
+#define WT_MONO_BACKLIGHT
+
 #define DYNAMIC_KEYMAP_LAYER_COUNT 4
 
 // EEPROM usage
diff --git a/keyboards/wilba_tech/wt_main.c b/keyboards/wilba_tech/wt_main.c
index de6d7b92c1..7a63ab5b74 100644
--- a/keyboards/wilba_tech/wt_main.c
+++ b/keyboards/wilba_tech/wt_main.c
@@ -15,7 +15,9 @@
  */
 
 #include "quantum.h"
+#ifdef WT_MONO_BACKLIGHT
 #include "keyboards/wilba_tech/wt_mono_backlight.h"
+#endif
 #include "keyboards/zeal60/zeal60_api.h" // Temporary hack
 #include "keyboards/zeal60/zeal60_keycodes.h" // Temporary hack
 
@@ -194,11 +196,13 @@ void main_init(void)
 		eeprom_set_valid(true);
 	}
 
+#ifdef WT_MONO_BACKLIGHT
 	// Initialize LED drivers for backlight.
 	backlight_init_drivers();
 
 	backlight_timer_init();
 	backlight_timer_enable();
+#endif
 }
 
 void bootmagic_lite(void)
@@ -230,8 +234,10 @@ void matrix_init_kb(void)
 
 void matrix_scan_kb(void)
 {
+#ifdef WT_MONO_BACKLIGHT
 	// This only updates the LED driver buffers if something has changed.
 	backlight_update_pwm_buffers();
+#endif
 	matrix_scan_user();
 }