diff --git a/keyboards/ergodone/keymaps/art/keymap.c b/keyboards/ergodone/keymaps/art/keymap.c
new file mode 100644
index 0000000000..7fcbd5b615
--- /dev/null
+++ b/keyboards/ergodone/keymaps/art/keymap.c
@@ -0,0 +1,446 @@
+#include "art.h"
+#include "sendstring_workman_zxcvm.h"
+
+bool is_win = true;
+
+enum custom_keycodes {
+  keyboardSpecificKeyCode = NEW_SAFE_RANGE //not used
+};
+
+void led_show_current_os(void) {
+  if (is_win) {
+    ergodox_right_led_1_on();
+    wait_ms(50);
+    ergodox_right_led_1_off();
+    wait_ms(50);
+    ergodox_right_led_1_on();
+    wait_ms(50);
+    ergodox_right_led_1_off();
+    wait_ms(50);
+    ergodox_right_led_1_on();
+    wait_ms(50);
+    ergodox_right_led_1_off();
+    wait_ms(50);
+  } else {
+    ergodox_right_led_3_on();
+    wait_ms(50);
+    ergodox_right_led_3_off();
+    wait_ms(50);
+    ergodox_right_led_3_on();
+    wait_ms(50);
+    ergodox_right_led_3_off();
+    wait_ms(50);
+    ergodox_right_led_3_on();
+    wait_ms(50);
+    ergodox_right_led_3_off();
+    wait_ms(50);
+  }
+}
+
+void matrix_init_user(void) {
+  led_show_current_os();
+}
+
+void led_set_user(uint8_t usb_led) {
+  if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
+    ergodox_right_led_2_on();
+  } else {
+    ergodox_right_led_2_off();
+  }
+}
+
+
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+  ergodox_board_led_off();
+  ergodox_right_led_1_off();
+  ergodox_right_led_3_off();
+  switch (get_highest_layer(state)) {
+    case NAV:
+    case CTRL_NAV:
+    case SHIFT_NAV:
+      ergodox_right_led_1_on();
+      break;
+    case FKEYS:
+      ergodox_right_led_3_on();
+      break;
+  }
+  return state;
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Base qwerty layer
+ *
+ * ,--------------------------------------------------.           ,--------------------------------------------------.
+ * |  ` ~   |   1  |   2  |   3  |   4  |   5  |  ESC |           | - _  |   6  |   7  |   8  |   9  |   0  |   ]    |
+ * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
+ * | Tab    |   Q  |   W  |   E  |   R  |   T  | ???  |           |  =   |   Y  |   U  |   I  |   O  |   P  |   [    |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * | Caps   |   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |  ;   |   '    |
+ * |--------+------+------+------+------+------| FKEYS|           | FKEYS|------+------+------+------+------+--------|
+ * | LShift |   Z  |   X  |   C  |   V  |   B  |      |           |      |   N  |   M  |   ,  |   .  | / git| RShift |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *   |LCtrl |Media\| Win  |Alt   | NAV  |                                       | Home | End  |Workmn|      | RCtrl|
+ *   `----------------------------------'                                       `----------------------------------'
+ *                                        ,-------------.       ,---------------.
+ *                                        | Del  |  Ins |       | Left |  Right |
+ *                                 ,------|------|------|       |------+--------+------.
+ *                                 |      |      | PgUp |       |SFT_NV|        |      |
+ *                                 | Space|BSpace|------|       |------|  NAV   |Enter |
+ *                                 |      |      | PgDn |       |CTR_NV|        |      |
+ *                                 `--------------------'       `----------------------'
+ */
+[QWERTY] = LAYOUT_ergodox(
+  // -----------------------------------------------------left hand-----------------------------------------------------
+  KC_GRAVE,         KC_1,         KC_2,       KC_3,       KC_4,              KC_5,      KC_ESCAPE,
+  KC_TAB,           KC_Q,         KC_W,       KC_E,       KC_R,              KC_T,      XXXXXXX,
+  KC_CAPS,          KC_A,         KC_S,       KC_D,       KC_F,              KC_G,
+  KC_LSFT,          KC_Z,         KC_X,       KC_C,       KC_V,              KC_B,      TT(FKEYS),
+  KC_LCTRL,  LT(MEDIA, KC_BSLASH), KC_LWIN,   KC_LALT,    LT(NAV, KC_RIGHT),
+
+                                           KC_DEL,    KC_INS,
+                                                      KC_PGUP,
+                                  KC_SPC, LT(COMBOS,KC_BSPC), KC_PGDOWN,
+
+  // -----------------------------------------------------right hand-----------------------------------------------------
+  KC_MINS,          KC_6,         KC_7,       KC_8,       KC_9,              KC_0,      KC_RBRC,
+  KC_EQL,           KC_Y,         KC_U,       KC_I,       KC_O,              KC_P,      KC_LBRC,
+                    KC_H,         KC_J,       KC_K,       KC_L,              KC_SCLN,   KC_QUOT,
+  TT(FKEYS),        KC_N,         KC_M,       KC_COMM,    KC_DOT,        LT(GIT,KC_SLSH), KC_RSFT,
+                                  KC_HOME,    KC_END,     DF(WORKMAN),       KC_RALT,   KC_RCTRL,
+
+    KC_LEFT,                KC_RIGHT,
+    LT(SHIFT_NAV, KC_UP),
+    LT(CTRL_NAV, KC_DOWN),  MO(NAV),   KC_ENT
+),
+ /* Workman
+ *
+ * ,--------------------------------------------------.           ,--------------------------------------------------.
+ * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
+ * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
+ * |        |   Q  |   D  |   R  |   W  |   B  |      |           |      |   J  |   F  |   U  |   P  |   ;  |        |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |   A  |   S  |   H  |   T  |   G  |------|           |------|   Y  |   N  |   E  |   O  |  I   |        |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |   Z  |   X  |   C  |   V  |   M  |      |           |      |   K  |   L  |   ,  |   .  |  /   |        |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *   |      |      |      |      |      |                                       |      |      |QWERTY|      |      |
+ *   `----------------------------------'                                       `----------------------------------'
+ *                                        ,-------------.       ,---------------.
+ *                                        |      |      |       |      |        |
+ *                                 ,------|------|------|       |------+--------+------.
+ *                                 |      |      |      |       |      |        |      |
+ *                                 |      |      |------|       |------|        |      |
+ *                                 |      |      |      |       |      |        |      |
+ *                                 `--------------------'       `----------------------'
+ */
+[WORKMAN] = LAYOUT_ergodox(  
+  // -----------------------------------------------------left hand-----------------------------------------------------
+  _______,          _______,      _______,    _______,    _______,           _______,   _______,
+  _______,          KC_Q,         KC_D,       KC_R,       KC_W,              KC_B,      _______,
+  _______,          KC_A,         KC_S,       KC_H,       KC_T,              KC_G,
+  _______,          KC_Z,         KC_X,       KC_C,       KC_V,              KC_M,      _______,
+  _______,          _______,      _______,    _______,    _______,
+
+                                            _______,   _______,
+                                                       _______,
+                                  _______,  _______,   _______,
+
+  // -----------------------------------------------------right hand-----------------------------------------------------
+  _______,          _______,      _______,    _______,    _______,           _______,   _______,
+  _______,          KC_J,         KC_F,       KC_U,       KC_P,              KC_SCLN,   _______,
+                    KC_Y,         KC_N,       KC_E,       KC_O,              KC_I,      _______,
+  _______,          KC_K,         KC_L,       KC_COMM,    KC_DOT,            KC_SLSH,   _______,
+                                  _______,    _______,    DF(QWERTY),        _______,   _______,
+
+    _______,  _______,
+    _______,
+    _______,  _______, _______
+),
+
+[FKEYS] = LAYOUT_ergodox(
+  // -----------------------------------------------------left hand-----------------------------------------------------
+  _______,          KC_F1,            KC_F2,            KC_F3,            KC_F4,            KC_F5,          _______,
+  _______,          _______,          _______,          _______,          _______,          _______,          _______,
+  _______,          _______,          _______,          _______,          _______,          _______,
+  _______,          _______,          _______,          _______,          _______,          _______,          _______,
+  _______,          _______,          _______,          _______,          _______,
+
+                                            _______,   _______,
+                                                       _______,
+                                  _______,  _______,   _______,
+  // -----------------------------------------------------right hand-----------------------------------------------------
+  _______,          KC_F6,            KC_F7,            KC_F8,            KC_F9,            KC_F10,           KC_F11,
+  _______,          _______,          _______,          _______,          _______,          _______,          KC_F12,
+                    _______,          _______,          _______,          _______,          _______,          KC_PSCREEN,
+  _______,          _______,          _______,          _______,          _______,          _______,          _______,
+                    _______,          _______,          _______,          _______,          _______,
+
+    _______,     _______,
+    _______,
+    _______,     _______,    _______
+),
+
+[NAV] = LAYOUT_ergodox(
+  // -----------------------------------------------------left hand-----------------------------------------------------
+  _______,          LALT(KC_F1),      LALT(KC_F2),      LALT(KC_F3),      LALT(KC_F4),      LALT(KC_F5),      _______,
+  _______,          _______,          KC_HOME,          KC_UP,            KC_END,           KC_PGUP,          _______,
+  _______,          _______,          KC_LEFT,          KC_DOWN,          KC_RIGHT,         KC_PGDOWN,
+  _______,          _______,          _______,          _______,          KC_LALT,          _______,          _______,
+  _______,          _______,          _______,          _______,          _______,        
+
+                                            _______,   _______,
+                                                       _______,
+                                  _______,  KC_DEL,    _______,                               
+  // -----------------------------------------------------right hand-----------------------------------------------------
+  _______,          LALT(KC_F6),      LALT(KC_F7),      LALT(KC_F8),      LALT(KC_F9),      LALT(KC_F10),     LALT(KC_F11),
+  _______,          _______,          _______,          _______,          _______,          _______,          LALT(KC_F12),
+                    _______,          CTR_ALT,          KC_RSFT,          _______,          _______,          _______,
+  _______,          _______,          _______,          _______,          _______,          _______,          _______,
+                    _______,          _______,          _______,          _______,          _______,
+
+    _______,     _______,
+    _______,
+    _______,     _______,    _______
+),
+
+[CTRL_NAV] = LAYOUT_ergodox(
+  // -----------------------------------------------------left hand-----------------------------------------------------
+  _______,          _______,          _______,          _______,          _______,          _______,          _______,
+  _______,          _______,          CTL_ALT(KC_HOME), CTL_ALT(KC_UP),   CTL_ALT(KC_END),  CTL_ALT(KC_PGUP), _______,
+  _______,          _______,          CTL_ALT(KC_LEFT), CTL_ALT(KC_DOWN), CTL_ALT(KC_RIGHT),CTL_ALT(KC_PGDOWN),
+  _______,          _______,          CTL_ALT(KC_X),    CTL_ALT(KC_C),    CTL_ALT(KC_V),    _______,          _______,
+  _______,          _______,          _______,          _______,          _______,
+
+                                            CTL_ALT(KC_DEL),  _______,
+                                                              _______,
+                                  _______,  CTL_ALT(KC_BSPC), CTL_ALT(KC_DEL),
+  // -----------------------------------------------------right hand-----------------------------------------------------
+  _______,          _______,          _______,          _______,          _______,          _______,          _______,
+  _______,          _______,          _______,          _______,          _______,          _______,          _______,
+                    _______,          _______,          _______,          _______,          _______,          _______,
+  _______,          _______,          _______,          _______,          _______,          _______,          _______,
+                    CTL_ALT(KC_HOME), CTL_ALT(KC_END),  _______,          _______,          _______,
+
+    CTL_ALT(KC_LEFT), CTL_ALT(KC_RIGHT),
+    KC_RSFT,
+    _______,       _______,    _______
+),
+
+[SHIFT_NAV] = LAYOUT_ergodox(
+  // -----------------------------------------------------left hand-----------------------------------------------------
+  _______,          _______,          _______,          _______,          _______,          _______,          _______,
+  _______,          _______,          LSFT(KC_HOME),    LSFT(KC_UP),      LSFT(KC_END),     LSFT(KC_PGUP),    _______,
+  _______,          _______,          LSFT(KC_LEFT),    LSFT(KC_DOWN),    LSFT(KC_RIGHT),   LSFT(KC_PGDOWN),
+  _______,          _______,          _______,          _______,          _______,          _______,          _______,
+  _______,          _______,          _______,          _______,          _______,
+
+                                            _______,   _______,
+                                                       _______,
+                                  _______,  _______,   _______,
+
+
+  // -----------------------------------------------------right hand-----------------------------------------------------
+  _______,          _______,          _______,          _______,          _______,          _______,          _______,
+  _______,          _______,          _______,          _______,          _______,          _______,          _______,
+                    _______,          _______,          _______,          _______,          _______,          _______,
+  _______,          _______,          _______,          _______,          _______,          _______,          _______,
+                    LSFT(KC_HOME),    LSFT(KC_END),     _______,          _______,          _______,
+
+    LSFT(KC_LEFT), LSFT(KC_RIGHT),
+    _______,
+    CTR_ALT,       _______,    _______
+),
+
+[COMBOS] = LAYOUT_ergodox(  
+  // -----------------------------------------------------left hand-----------------------------------------------------
+  TILD_BLOCK,       PRESCRIPTION,          _______,          _______,          FOURS,          _______,          _______,
+  _______,          _______,          _______,          _______,          _______,          _______,          _______,
+  _______,          ADMINS,          SARCASM,          _______,          CTRL_CTV,         _______,
+  _______,          _______,          _______,          _______,          _______,          _______,          _______,
+  _______,          _______,          _______,          _______,          _______,
+
+                                            _______,   _______,
+                                                       _______,
+                                  _______,  _______,   _______,
+
+  // -----------------------------------------------------right hand-----------------------------------------------------
+  _______,          _______,          _______,          _______,          _______,          _______,          _______,
+  _______,          _______,          _______,          _______,          _______,          _______,          _______,
+                    _______,          _______,          _______,          _______,          _______,          _______,
+  _______,          _______,          CTRL_LCTV,        _______,          _______,          _______,          _______,
+                    _______,          _______,          _______,          _______,          _______,
+
+    _______,     _______,
+    _______,
+    _______,     _______,    _______
+),
+
+// [STRINGS] = LAYOUT_ergodox(  
+//   // -----------------------------------------------------left hand-----------------------------------------------------
+//   _______,          _______,          _______,          _______,          _______,          _______,          _______,
+//   _______,          _______,          _______,          _______,          _______,          _______,          _______,
+//   _______,          _______,          _______,          _______,          _______,          _______,
+//   _______,          _______,          _______,          _______,          _______,          _______,          _______,
+//   _______,          _______,          _______,          _______,          _______,
+
+//                                             _______,   _______,
+//                                                        _______,
+//                                   _______,  _______,   _______,
+
+//   // -----------------------------------------------------right hand-----------------------------------------------------
+//   _______,          _______,          _______,          _______,          _______,          _______,          _______,
+//   _______,          _______,          _______,          _______,          _______,          _______,          _______,
+//                     _______,          _______,          _______,          _______,          _______,          _______,
+//   _______,          _______,          _______,          _______,          _______,          _______,          _______,
+//                     _______,          _______,          _______,          _______,          _______,
+
+//     _______,     _______,
+//     _______,
+//     _______,     _______,    _______
+// ),
+
+[MEDIA] = LAYOUT_ergodox(  
+  // -----------------------------------------------------left hand-----------------------------------------------------
+  _______,          _______,          _______,          _______,          _______,          _______,          _______,
+  _______,          _______,          KC_MPRV,          KC_VOLU,          KC_MNXT,          _______,          _______,
+  _______,          _______,          _______,          KC_VOLD,          _______,          _______,
+  _______,          _______,          _______,          KC_MUTE,          KC_MPLY,          _______,          _______,
+  _______,          _______,          _______,          _______,          _______,
+
+                                            _______,   _______,
+                                                       _______,
+                                  _______,  _______,   _______,
+
+  // -----------------------------------------------------right hand-----------------------------------------------------
+  _______,          _______,          _______,          _______,          _______,          _______,          _______,
+  _______,          _______,          _______,          _______,          _______,          _______,          _______,
+                    _______,          _______,          _______,          TOG_OS,           _______,          _______,
+  _______,          _______,          _______,          _______,          _______,          _______,          _______,
+                    _______,          _______,          _______,          _______,          _______,
+
+    _______,     _______,
+    _______,
+    _______,     _______,    _______
+),
+
+[GIT] = LAYOUT_ergodox(  
+  // -----------------------------------------------------left hand-----------------------------------------------------
+  _______,          _______,          _______,          _______,          _______,          _______,          _______,
+  _______,          _______,          G_DIFF,           G_RST,            _______,          G_BRCH,          _______,
+  _______,          G_ADD,            G_S,              _______,          _______,          _______,
+  _______,          _______,          _______,          G_C,              _______,          G_MERG,          _______,
+  _______,          _______,          _______,          _______,          _______,
+
+                                            _______,   _______,
+                                                       _______,
+                                  _______,  _______,   _______,
+
+  // -----------------------------------------------------right hand-----------------------------------------------------
+  _______,          _______,          _______,          _______,          _______,          _______,          _______,
+  _______,          _______,          G_FTCH,           _______,          G_P,              _______,          _______,
+                    _______,          _______,          _______,          _______,          _______,          _______,
+  _______,          _______,          G_LOG,            _______,          G_DEV,            _______,          _______,
+                    _______,          _______,          _______,          _______,          _______,
+
+    _______,     _______,
+    _______,
+    _______,     _______,    _______
+),
+
+[GIT_C] = LAYOUT_ergodox(  
+  // -----------------------------------------------------left hand-----------------------------------------------------
+  XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,
+  XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,
+  XXXXXXX,          XXXXXXX,          XXXXXXX,          G_CHEC,           XXXXXXX,          XXXXXXX,
+  _______,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,
+  XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,
+
+                                            XXXXXXX,   XXXXXXX,
+                                                       XXXXXXX,
+                                  XXXXXXX,  KC_BSPC,   XXXXXXX,
+
+  // -----------------------------------------------------right hand-----------------------------------------------------
+  XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,
+  XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,
+                    XXXXXXX,          XXXXXXX,          XXXXXXX,          G_COMM,           XXXXXXX,          XXXXXXX,
+  XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          _______,
+                    XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,
+
+    XXXXXXX,     XXXXXXX,
+    XXXXXXX,
+    XXXXXXX,     XXXXXXX,    XXXXXXX
+),
+
+[GIT_S] = LAYOUT_ergodox(  
+  // -----------------------------------------------------left hand-----------------------------------------------------
+  XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,
+  XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,
+  XXXXXXX,          XXXXXXX,          G_STSH,           G_SHOW,           G_STAT,           XXXXXXX,
+  _______,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,
+  XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,
+
+                                            XXXXXXX,   XXXXXXX,
+                                                       XXXXXXX,
+                                  XXXXXXX,  KC_BSPC,   XXXXXXX,
+
+  // -----------------------------------------------------right hand-----------------------------------------------------
+  XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,
+  XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,
+                    XXXXXXX,          XXXXXXX,          XXXXXXX,          G_COMM,           XXXXXXX,          XXXXXXX,
+  XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          _______,
+                    XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,          XXXXXXX,
+
+    XXXXXXX,     XXXXXXX,
+    XXXXXXX,
+    XXXXXXX,     XXXXXXX,    XXXXXXX
+),
+
+
+/* Numpad
+ *
+ *           ,--------------------------------------------------.
+ *           |      |      |      |      |      |   /  |        |
+ *           |------+------+------+------+------+------+--------|
+ *           |      |      |   7  |   8  |   9  |   *  |        |
+ *           |      |------+------+------+------+------+--------|
+ *           |------|      |   4  |   5  |   6  |   -  |  Enter |
+ *           |      |------+------+------+------+------+--------|
+ *           |      |      |   1  |   2  |   3  |   +  |  Enter |
+ *           `-------------+------+------+------+------+--------'
+ *                         |      |   0  |   .  | Calc | Calc   |
+ *                         `----------------------------------'
+ */
+
+// [] = LAYOUT_ergodox(  
+//   // -----------------------------------------------------left hand-----------------------------------------------------
+//   _______,          _______,          _______,          _______,          _______,          _______,          _______,
+//   _______,          _______,          _______,          _______,          _______,          _______,          _______,
+//   _______,          _______,          _______,          _______,          _______,          _______,
+//   _______,          _______,          _______,          _______,          _______,          _______,          _______,
+//   _______,          _______,          _______,          _______,          _______,
+
+//                                             _______,   _______,
+//                                                        _______,
+//                                   _______,  _______,   _______,
+
+//   // -----------------------------------------------------right hand-----------------------------------------------------
+//   _______,          _______,          _______,          _______,          _______,          _______,          _______,
+//   _______,          _______,          _______,          _______,          _______,          _______,          _______,
+//                     _______,          _______,          _______,          _______,          _______,          _______,
+//   _______,          _______,          _______,          _______,          _______,          _______,          _______,
+//                     _______,          _______,          _______,          _______,          _______,
+
+//     _______,     _______,
+//     _______,
+//     _______,     _______,    _______
+// ),
+
+};
+
+bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
+  switch (keycode) {
+
+  }
+  return true;
+}
diff --git a/keyboards/wheatfield/split75/keymaps/art/keymap.c b/keyboards/wheatfield/split75/keymaps/art/keymap.c
index e540f1cb62..c10059bb7d 100644
--- a/keyboards/wheatfield/split75/keymaps/art/keymap.c
+++ b/keyboards/wheatfield/split75/keymaps/art/keymap.c
@@ -1,16 +1,95 @@
-#include QMK_KEYBOARD_H
+#include <art.h>
+#include <sendstring_workman_zxcvm.h>
 
-enum layer_names {
-    BASE,
-    QWERTY_MOD,
-    QWERTY,
-    WORKMAN,
-    MOD,
-    MEDIA
+bool is_win = false;
+
+enum custom_keycodes {
+  keyboardSpecificKeyCode = NEW_SAFE_RANGE //not used atm
 };
 
+bool led_update_user(led_t led_state) {
+  writePin(CAPSLOCK_LED_PIN, led_state.caps_lock);
+  return false;
+}
+
+void led_show_current_os(void) {
+  if (is_win) {
+    writePinHigh(NUMLOCK_LED_PIN);
+    wait_ms(50);
+    writePinLow(NUMLOCK_LED_PIN);
+    wait_ms(50);
+    writePinHigh(NUMLOCK_LED_PIN);
+    wait_ms(50);
+    writePinLow(NUMLOCK_LED_PIN);
+    wait_ms(50);
+    writePinHigh(NUMLOCK_LED_PIN);
+    wait_ms(50);
+    writePinLow(NUMLOCK_LED_PIN);
+    wait_ms(50);
+  } else {
+    writePinHigh(SCROLLLOCK_LED_PIN);
+    wait_ms(50);
+    writePinLow(SCROLLLOCK_LED_PIN);
+    wait_ms(50);
+    writePinHigh(SCROLLLOCK_LED_PIN);
+    wait_ms(50);
+    writePinLow(SCROLLLOCK_LED_PIN);
+    wait_ms(50);
+    writePinHigh(SCROLLLOCK_LED_PIN);
+    wait_ms(50);
+    writePinLow(SCROLLLOCK_LED_PIN);
+    wait_ms(50);
+  }
+}
+
+void keyboard_pre_init_user(void) {
+  led_show_current_os();
+  
+  layer_state_set_user(layer_state);
+}
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+  writePinLow(NUMLOCK_LED_PIN);
+  writePinLow(SCROLLLOCK_LED_PIN);
+  switch (get_highest_layer(state)) {
+    case MEDIA:
+      writePinHigh(SCROLLLOCK_LED_PIN);
+    case BASE:
+      writePinHigh(NUMLOCK_LED_PIN);
+      break;
+    case NUMPAD:
+      writePinHigh(SCROLLLOCK_LED_PIN);
+      break;
+  }
+  return state;
+}
+
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
+  /* QWERTY        ,-----------------------------------------.     ,-----------------------------------------------------.
+  *                | ESC | F1  | F2  | F3  | F4  | F5  | F6  |     | F7  | F8  | F9  | F10 | F11 | F12 |Print| Ins | Home|
+  * ,-----------.  |-----+-----+-----+-----+-----+-----+-----|     |-----+-----+-----+-----+-----+-----+-----------+-----|
+  * |  8  |  9  |  |  ~  |  1  |  2  |  3  |  4  |  5  |  6  |     |  7  |  8  |  9  |  0  |  -  |  =  | Backspac  | Del |
+  * |-----+-----|  |-----------------------------------------'  ,--------------------------------------------------+-----|
+  * |  6  |  7  |  | Tab   |  Q  |  W  |  E  |  R  |  T  |     |  Y  |  U  |  I  |  O  |  P  |  [  |  ]  |    \    | End |
+  * |-----+-----|  |---------------------------------------.    `--------------------------------------------------+-----|
+  * |  4  |  5  |  | Caps    |  A  |  S  |  D  |  F  |  G  |     |  H  |  J  |  K  |  L  |  ;  |  '  |    Enter    | PgUp|
+  * |-----+-----|  |-----------------------------------------.   `-------------------------------------------------+-----|
+  * |  2  |  3  |  | Shift     |  Z  |  X  |  C  |  V  |  B  |     |  N  |  M  |  ,  |  .  |   /   |  Shift  | Up  | PgDn|
+  * |-----+-----|  |-----------------------------------------'   ,-------------------------------------------+-----+-----|
+  * |  0  |  1  |  | Ctrl  |  GUI |  Alt |Spac/MEDIA | BSPC|     |      NAV      |  Alt  | NAV | Ctrl  | Left| Down|Right|
+  * `-----------'  `---------------------------------------'     `-------------------------------------------------------'
+  */
+  [QWERTY] = LAYOUT(
+//--------------------------------Left Hand------------------------------------| |--------------------------------Right Hand------------------------------------------------
+                 KC_ESC,   KC_F1,   KC_F2,   KC_F3,  KC_F4,  KC_F5,  KC_F6,                KC_F7,  KC_F8,   KC_F9,  KC_F10,  KC_F11,   KC_F12,   LT(CONFIG, KC_PSCR),  KC_INS,  KC_HOME,
+KC_VOLD,KC_VOLU, KC_GRAVE, KC_1,    KC_2,    KC_3,   KC_4,   KC_5,   KC_6,                 KC_7,   KC_8,    KC_9,   KC_0,    KC_MINUS, KC_EQUAL, KC_BSPC,          KC_DEL,
+KC_MPRV,KC_MNXT, KC_TAB,   KC_Q,    KC_W,    KC_E,   KC_R,   KC_T,                 KC_Y,   KC_U,   KC_I,    KC_O,   KC_P,    KC_LBRC,  KC_RBRC,  KC_BSLS,           KC_END,
+KC_HOME,KC_END,  KC_CAPS,  KC_A,    KC_S,    KC_D,   KC_F,   KC_G,   KC_H,   KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,KC_ENTER,         KC_PGUP,
+DYN_MACRO_PLAY1,MO(STRINGS),KC_LSFT,KC_Z,KC_X,KC_C,  KC_V,   KC_B,                 KC_N,   KC_M,   KC_COMM, KC_DOT, LT(GIT,KC_SLSH),                     KC_RSFT,  KC_UP,   KC_PGDN,
+DYN_REC_STOP,DYN_REC_START1,KC_LCTL, KC_LGUI, KC_LALT, LT(MEDIA,KC_SPC), LT(COMBOS,KC_BSPC),            LT(NAV, KC_ENTER),        KC_RALT, MO(LAYOUT_CHG),KC_RCTL,                     KC_LEFT,  KC_DOWN, KC_RIGHT
+  ),
+
   /* Base          ,-----------------------------------------.     ,-----------------------------------------------------.
   *                | ESC | F1  | F2  | F3  | F4  | F5  | F6  |     | F7  | F8  | F9  | F10 | F11 | F12 |Print| Ins | Home|
   * ,-----------.  |-----+-----+-----+-----+-----+-----+-----|     |-----+-----+-----+-----+-----+-----+-----------+-----|
@@ -27,28 +106,64 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   */
   [BASE] = LAYOUT(
 //--------------------------------Left Hand-----------------------------------| |--------------------------------Right Hand------------------------------------------------
-                KC_ESC,   KC_F1,   KC_F2,   KC_F3,  KC_F4,  KC_F5,  KC_F6,                KC_F7,  KC_F8,   KC_F9,  KC_F10,  KC_F11,   KC_F12,   KC_PSCR,  KC_INS,  KC_HOME,
+                KC_ESC,   KC_F1,   KC_F2,   KC_F3,  KC_F4,  KC_F5,  KC_F6,                KC_F7,  KC_F8,   KC_F9,  KC_F10,  KC_F11,   KC_F12,   LT(CONFIG, KC_PSCR),  KC_INS,  KC_HOME,
 KC_8,  KC_9,    KC_GRAVE, KC_1,    KC_2,    KC_3,   KC_4,   KC_5,   KC_6,                 KC_7,   KC_8,    KC_9,   KC_0,    KC_MINUS, KC_EQUAL, KC_BSPC,           KC_DEL,
 KC_6,  KC_7,    KC_TAB,   KC_Q,    KC_W,    KC_E,   KC_R,   KC_T,                 KC_Y,   KC_U,   KC_I,    KC_O,   KC_P,    KC_LBRC,  KC_RBRC,  KC_BSLS,           KC_END,
 KC_4,  KC_5,    KC_CAPS,  KC_A,    KC_S,    KC_D,   KC_F,   KC_G,                 KC_H,   KC_J,   KC_K,    KC_L,   KC_SCLN, KC_QUOT,  KC_ENTER,                    KC_PGUP,
 KC_2,  KC_3,    KC_LSFT,  KC_Z,    KC_X,    KC_C,   KC_V,   KC_B,                 KC_N,   KC_M,   KC_COMM, KC_DOT, KC_SLSH,                     KC_RSFT,  KC_UP,   KC_PGDN,
-KC_0,  KC_1,    KC_LCTL,  KC_LGUI, KC_LALT, KC_SPC, KC_SPC,                       KC_SPC,         KC_RALT, MO(QWERTY_MOD),  KC_RCTL,            KC_LEFT,  KC_DOWN, KC_RIGHT
+KC_0,  KC_1,    OS_CTRL,  OS_WIN,  KC_LALT, KC_SPC, KC_SPC,                       KC_SPC,         KC_RALT, MO(QWERTY_MOD),  KC_RCTL,            KC_LEFT,  KC_DOWN, KC_RIGHT
   ),
 
-  /*QWERT On + Mod ,-----------------------------------------.     ,-----------------------------------------------------.
-  *                |     |     |     |     |     |     |     |     |     |     |     |     |     |     |     |     |     |
-  * ,-----------.  |-----+-----+-----+-----+-----+-----+-----|     |-----+-----+-----+-----+-----+-----+-----------+-----|
-  * |     |     |  |     |     |     |     |     |     |     |     |     |     |     |     |     |     |           |     |
-  * |-----+-----|  |-----------------------------------------'  ,--------------------------------------------------+-----|
-  * |     |     |  |       |MePrv| Vol+|MeNxt|     |     |     |     |     |     |     |     |     |     |         |     |
-  * |-----+-----|  |---------------------------------------.    `--------------------------------------------------+-----|
-  * |     |     |  |         |     | Vol-|     |     |     |     |     |     |     |     |     |     |             |     |
-  * |-----+-----|  |-----------------------------------------.   `-------------------------------------------------+-----|
-  * |     |     |  |           |     | Vol0|MePly|     |     |     |     |     |     |     |       |         |     |     |
-  * |-----+-----|  |-----------------------------------------'   ,-------------------------------------------+-----+-----|
-  * |     |     |  | QWERTY |      |      |           |     |     |               |       |     |       |     |     |    |
-  * `-----------'  `---------------------------------------'     `-------------------------------------------------------'
-  */
+  [WORKMAN] = LAYOUT(
+//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
+                      _______,  _______,  _______,  _______,  _______,  _______,  _______,              _______,   _______,  _______,  _______,  _______,  _______,  _______,  _______, _______,
+_______,  _______,    _______,  _______,  _______,  _______,  _______,  _______,  _______,              _______,   _______,  _______,  _______,  _______,  _______,  _______,           _______,
+_______,  _______,    _______,  KC_Q,     KC_D,     KC_R,     KC_W,     KC_B,                 KC_J,     KC_F,      KC_U,     KC_P,     KC_SCLN,  _______,  _______,  _______,           _______,
+_______,  _______,    _______,  KC_A,     KC_S,     KC_H,     KC_T,     KC_G,                 KC_Y,     KC_N,      KC_E,     KC_O,     KC_I,     _______,  _______,           _______,
+_______,  _______,    _______,  KC_Z,     KC_X,     KC_C,     KC_V,     KC_M,                 KC_K,     KC_L,      KC_COMM,  KC_DOT,   _______,                      _______, _______,  _______,
+_______,  _______,    _______, _______,   _______,  _______,  _______,                        _______,             _______,  TO(QWERTY), _______,           _______, _______,  _______
+  ),
+  
+  [NAV] = LAYOUT(
+//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
+                _______,  _______,  _______,  _______,  _______,  _______,  _______,              _______,   _______,  _______,  _______,  _______,  _______,  _______,  _______, _______,
+KC_8,  KC_9,    _______,  _______,  _______,  _______,  _______,  _______,  _______,              _______,   _______,  _______,  _______,  _______,  _______,  _______,           _______,
+KC_6,  KC_7,    _______,  _______,  KC_HOME,  KC_UP,    KC_END,   KC_PGUP,              _______,  _______,   _______,  _______,  _______,  _______,  _______,  _______,           _______,
+KC_4,  KC_5,    _______,  _______,  KC_LEFT,  KC_DOWN,  KC_RIGHT, KC_PGDOWN,            _______,  CTR_ALT,   KC_RSFT,  _______,  _______,  _______,  _______,            _______,
+KC_2,  KC_3,    _______,  _______,  _______,  _______,  _______,  _______,              _______,  _______,   _______,  _______,  _______,                      _______,  _______, _______,
+KC_0,  KC_1,    _______,  _______,  _______,  KC_DEL,   _______,                        _______,             _______,  _______,  _______,            _______,  _______,  _______
+  ),
+  
+  [MEDIA] = LAYOUT(
+//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
+                      _______,  _______,  _______,  _______,  _______,  _______,  _______,              _______,   _______,  _______,  _______,  _______,  _______,  _______,  _______, _______,
+_______,  _______,    _______,  _______,  _______,  _______,  _______,  _______,  _______,              _______,   _______,  _______,  _______,  _______,  _______,  _______,           _______,
+_______,  _______,    _______,  KC_MPRV,  KC_VOLU,  KC_MNXT,  _______,  _______,              _______,  _______,   _______,  _______,  _______,  _______,  _______,  _______,           _______,
+_______,  _______,    _______,  _______,  KC_VOLD,  _______,  _______,  _______,              _______,  _______,   _______,  _______,  _______,  _______,  _______,                     _______,
+_______,  _______,    _______,  _______,  KC_MUTE,  KC_MPLY,  _______,  _______,              _______,  _______,   _______,  _______,  _______,                      _______, _______,  _______,
+_______,  _______,    _______,  _______,  _______,  _______,  _______,                        _______,             _______, _______,   _______,                      _______, _______,  _______
+  ),
+  
+  [COMBOS] = LAYOUT(
+//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
+                      _______,  _______,  _______,  _______,  _______,  _______,  _______,              _______,   _______,  _______,  _______,  _______,  _______,  _______,  _______, _______,
+_______,  _______,    _______,  _______,  _______,  _______,  _______,  _______,  _______,              _______,   _______,  _______,  _______,  _______,  _______,  _______,           _______,
+_______,  _______,    _______,  _______,  _______,  _______,  _______,  _______,              _______,  _______,   _______,  _______,  _______,  _______,  _______,  _______,           _______,
+_______,  _______,    _______,  _______,  SARCASM,  _______,  CTRL_CTV, _______,              _______,  _______,   _______,  _______,  _______,  _______,  _______,                     _______,
+_______,  _______,    _______,  _______,  _______,  CTRL_CAV, _______,  _______,              _______,  CTRL_LCTV, _______,  _______,  _______,                      _______, _______,  _______,
+_______,  _______,    _______,  _______,  _______,  _______,  _______,                        _______,             _______, _______,   _______,                      _______, _______,  _______
+  ),
+  
+  [STRINGS] = LAYOUT(
+//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
+                      _______,  _______,  _______,  _______,  _______,  _______,  _______,              _______,   _______,  _______,  _______,  _______,  _______,  _______,  _______, _______,
+_______,  _______,    TILD_BLOCK, PRESCRIPTION,  _______,  _______,  FOURS,  _______,  _______,              _______,   _______,  _______,  _______,  _______,  _______,  _______,           _______,
+_______,  _______,    _______,  _______,  _______,  _______,  _______,  _______,              _______,  _______,   _______,  _______,  _______,  _______,  _______,  _______,           _______,
+_______,  _______,    _______,  ADMINS,   _______,  _______,  _______,  _______,              _______,  _______,   _______,  _______,  _______,  _______,  _______,                     _______,
+_______,  _______,    _______,  _______,  _______,  _______,  _______,  _______,              _______,  _______,   _______,  _______,  _______,                      _______, _______,  _______,
+_______,  _______,    _______,  _______,  _______,  _______,  _______,                        _______,             _______, _______,   _______,                      _______, _______,  _______
+  ),  
+
   [QWERTY_MOD] = LAYOUT(
 //--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
                       _______,  _______,  _______,  _______,  _______,  _______,  _______,              _______,   _______,  _______,  _______,  _______,  _______,  _______,  _______, _______,
@@ -58,80 +173,68 @@ _______,  _______,    _______,  _______,  KC_VOLD,  _______,  _______,  _______,
 _______,  _______,    _______,  _______,  KC_MUTE,  KC_MPLY,  _______,  _______,              _______,  _______,   _______,  _______,  _______,                      _______, _______,  _______,
 _______,  _______,    TO(QWERTY),_______, _______,  _______,  _______,                        _______,             _______, _______,   _______,                      _______, _______,  _______
   ),
-
-  /* QWERTY        ,-----------------------------------------.     ,-----------------------------------------------------.
-  *                | ESC | F1  | F2  | F3  | F4  | F5  | F6  |     | F7  | F8  | F9  | F10 | F11 | F12 |Print| Ins | Home|
-  * ,-----------.  |-----+-----+-----+-----+-----+-----+-----|     |-----+-----+-----+-----+-----+-----+-----------+-----|
-  * |  8  |  9  |  |  ~  |  1  |  2  |  3  |  4  |  5  |  6  |     |  7  |  8  |  9  |  0  |  -  |  =  | Backspac  | Del |
-  * |-----+-----|  |-----------------------------------------'  ,--------------------------------------------------+-----|
-  * |  6  |  7  |  | Tab   |  Q  |  W  |  E  |  R  |  T  |     |  Y  |  U  |  I  |  O  |  P  |  [  |  ]  |    \    | End |
-  * |-----+-----|  |---------------------------------------.    `--------------------------------------------------+-----|
-  * |  4  |  5  |  | Caps    |  A  |  S  |  D  |  F  |  G  |     |  H  |  J  |  K  |  L  |  ;  |  '  |    Enter    | PgUp|
-  * |-----+-----|  |-----------------------------------------.   `-------------------------------------------------+-----|
-  * |  2  |  3  |  | Shift     |  Z  |  X  |  C  |  V  |  B  |     |  N  |  M  |  ,  |  .  |   /   |  Shift  | Up  | PgDn|
-  * |-----+-----|  |-----------------------------------------'   ,-------------------------------------------+-----+-----|
-  * |  0  |  1  |  | Ctrl  |  GUI |  Alt |Spac/MEDIA | BSPC|     |      MOD      |  Alt  | MOD | Ctrl  | Left| Down|Right|
-  * `-----------'  `---------------------------------------'     `-------------------------------------------------------'
-  */
-  [QWERTY] = LAYOUT(
-//--------------------------------Left Hand------------------------------------| |--------------------------------Right Hand------------------------------------------------
-                KC_ESC,   KC_F1,   KC_F2,   KC_F3,  KC_F4,  KC_F5,  KC_F6,                KC_F7,  KC_F8,   KC_F9,  KC_F10,  KC_F11,   KC_F12,   KC_PSCR,  KC_INS,  KC_HOME,
-KC_8,  KC_9,    KC_GRAVE, KC_1,    KC_2,    LGUI_T(KC_3),   LALT_T(KC_4),   LCTL_T(KC_5),   KC_6,                 KC_7,   LCTL_T(KC_8),    LALT_T(KC_9),   LGUI_T(KC_0),    KC_MINUS, KC_EQUAL, KC_BSPC,           KC_DEL,
-KC_6,  KC_7,    KC_TAB,   KC_Q,    KC_W,    KC_E,   KC_R,   KC_T,                 KC_Y,   KC_U,   KC_I,    KC_O,   KC_P,    KC_LBRC,  KC_RBRC,  KC_BSLS,           KC_END,
-KC_4,  KC_5,    KC_CAPS,  KC_A,    KC_S ,KC_D ,KC_F ,KC_G,   KC_H,   KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,KC_ENTER,         KC_PGUP,
-KC_2,  KC_3,    KC_LSFT,  KC_Z,    KC_X,    KC_C,   KC_V,   KC_B,                 KC_N,   KC_M,   KC_COMM, KC_DOT, KC_SLSH,                     KC_RSFT,  KC_UP,   KC_PGDN,
-KC_0,  KC_1,    KC_LCTL,  KC_LGUI, KC_LALT, LT(MEDIA, KC_SPC),KC_BSPC,            MO(MOD),        KC_RALT, MO(MOD),KC_RCTL,                     KC_LEFT,  KC_DOWN, KC_RIGHT
+  
+  [LAYOUT_CHG] = LAYOUT(
+//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
+                      _______,  _______,  _______,  _______,  _______,  _______,  _______,              _______,   _______,  _______,  _______,  _______,  _______,  _______,  _______, _______,
+_______,  _______,    _______,  _______,  _______,  _______,  _______,  _______,  _______,              _______,   _______,  _______,  _______,  _______,  _______,  _______,           _______,
+_______,  _______,    _______,  _______,  CTL_ALT(KC_HOME),  CTL_ALT(KC_UP),    CTL_ALT(KC_END),   CTL_ALT(KC_PGUP),              _______,  _______,_______, _______,_______,_______,_______,  _______,           _______,
+_______,  _______,    _______,  _______,  CTL_ALT(KC_LEFT),  CTL_ALT(KC_DOWN),  CTL_ALT(KC_RIGHT), CTL_ALT(KC_PGDOWN),              _______,_______,_______,_______,_______,  _______,  _______,           _______,
+_______,  _______,    TO(WORKMAN),  _______,  _______,  _______,  _______,  _______,              _______,  _______,   _______,  _______,  _______,                      _______, _______,  _______,
+TO(NUMPAD), TO(NUMPAD), TO(BASE),  _______,  _______,  _______,  CTL_ALT(KC_BSPC),                KC_LSFT,             _______, _______, _______,                      _______, _______,  _______
+  ),  
+  
+  [CONFIG] = LAYOUT(
+//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
+                      _______,  _______,  _______,  _______,  _______,  _______,  _______,              _______,   _______,  _______,  _______,  _______,  _______,  _______,  _______, _______,
+RGB_VAI,  RGB_VAD,    RGB_MODE_PLAIN,  RGB_MODE_BREATHE,  RGB_MODE_RAINBOW,  RGB_MODE_SWIRL,  RGB_MODE_SNAKE,  RGB_MODE_KNIGHT,  RGB_MODE_XMAS,              RGB_MODE_GRADIENT,   RGB_MODE_RGBTEST,  XXXXXXX,  XXXXXXX,  _______,  _______,  _______,           _______,
+RGB_SAI,  RGB_SAD,    _______,  _______,  _______,  _______,  _______,  _______,              _______,  _______,   _______,  TOG_OS,  _______,  _______,  _______,  _______,           _______,
+RGB_HUI,  RGB_HUD,    _______,  _______,  _______,  _______,  _______,  _______,              _______,  _______,   _______,  _______,  _______,  _______,  _______,                     _______,
+RGB_MOD,  RGB_RMOD,   _______,  _______,  _______,  _______,  _______,  _______,              _______,  _______,   _______,  _______,  _______,                      _______, _______,  _______,
+RGB_TOG,  _______,    _______,  _______,  _______,  _______,  _______,                        _______,             _______, _______,   _______,                      _______, _______,  _______
   ),
 
-  /*    WORKMAN    ,-----------------------------------------.     ,-----------------------------------------------------.
-  *                |     |     |     |     |     |     |     |     |     |     |     |     |     |     |     |     |     |
-  * ,-----------.  |-----+-----+-----+-----+-----+-----+-----|     |-----+-----+-----+-----+-----+-----+-----------+-----|
-  * |     |     |  |     |     |     |     |     |     |     |     |     |     |     |     |     |     |           |     |
-  * |-----+-----|  |-----------------------------------------'  ,--------------------------------------------------+-----|
-  * |     |     |  |       |     |     |     |     |     |     |     |     |     |     |     |     |     |         |     |
-  * |-----+-----|  |---------------------------------------.    `--------------------------------------------------+-----|
-  * |     |     |  |         |     |     |     |     |     |     |     |     |     |     |     |     |             |     |
-  * |-----+-----|  |-----------------------------------------.   `-------------------------------------------------+-----|
-  * |     |     |  |           |     |     |     |     |     |     |     |     |     |     |       |         |     |     |
-  * |-----+-----|  |-----------------------------------------'   ,-------------------------------------------+-----+-----|
-  * |     |     |  | BASE  |      |      |           |     |     |               |       |     |       |     |     |     |
-  * `-----------'  `---------------------------------------'     `-------------------------------------------------------'
-  */
-  [WORKMAN] = LAYOUT(
+  [NUMPAD] = LAYOUT(
 //--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
-                      _______,  _______,  _______,  _______,  _______,  _______,  _______,              _______,   _______,  _______,  _______,  _______,  _______,  _______,  _______, _______,
-_______,  _______,    _______,  _______,  _______,  _______,  _______,  _______,  _______,              _______,   _______,  _______,  _______,  _______,  _______,  _______,           _______,
-_______,  _______,    _______,  KC_Q,     KC_D,		KC_R,     KC_W,     KC_B,              KC_J,   KC_F,		KC_U,   KC_P,   KC_SCLN,_______,_______,  _______,           _______,
-_______,  _______,    _______,  KC_A,     KC_S,		KC_H,     KC_T,     KC_G,              KC_Y,   KC_N,		KC_E,   KC_O,   KC_I,  _______,  _______,           _______,
-_______,  _______,    _______,  KC_Z,     KC_X,		KC_C,     KC_V,     KC_M,              KC_K,   KC_L,		KC_COMM,KC_DOT, KC_SLSH,                      _______, _______,  _______,
-_______,  _______,    TO(BASE), _______,_______,_______, _______,                        _______,             _______, TO(QWERTY),   _______,            _______, _______,  _______
+                _______,  _______,  _______,  _______,  _______,  _______,  _______,              _______,   _______,  _______,  _______,  _______,  _______,  _______,  _______, _______,
+KC_8,  KC_9,    _______,  _______,  _______,  _______,  _______,  _______,  _______,              _______,   _______,  _______,  _______,  _______,  _______,  _______,           _______,
+KC_6,  KC_7,    _______,  _______,  _______,  _______,  _______,  _______,              _______,  _______,   _______,  _______,  _______,  _______,  _______,  _______,           _______,
+KC_4,  KC_5,    _______,  _______,  _______,  _______,  _______,  _______,              _______,  _______,   _______,  _______,  _______,  _______,  _______,                     _______,
+KC_2,  KC_3,    _______,  _______,  _______,  _______,  _______,  _______,              _______,  _______,   _______,  _______,  _______,                      _______, _______,  _______,
+KC_0,  KC_1,    _______,  _______,  _______,  _______,  _______,                        _______,             _______, TO(QWERTY),_______,                      _______, _______,  _______
   ),
   
-  /*    MOD        ,-----------------------------------------.     ,-----------------------------------------------------.
-  *                |     |     |     |     |     |     |     |     |     |     |     |     |     |     |     |     |     |
-  * ,-----------.  |-----+-----+-----+-----+-----+-----+-----|     |-----+-----+-----+-----+-----+-----+-----------+-----|
-  * |     |     |  |     |     |     |     |     |     |     |     |     |     |     |     |     |     |           |     |
-  * |-----+-----|  |-----------------------------------------'  ,--------------------------------------------------+-----|
-  * |     |     |  |       |     |     |     |     |     |     |     |     |     |     |     |     |     |         |     |
-  * |-----+-----|  |---------------------------------------.    `--------------------------------------------------+-----|
-  * |     |     |  |         |     |     |     |     |     |     |     |     |     |     |     |     |             |     |
-  * |-----+-----|  |-----------------------------------------.   `-------------------------------------------------+-----|
-  * |     |     |  |           |     |     |     |     |     |     |     |     |     |     |       |         |     |     |
-  * |-----+-----|  |-----------------------------------------'   ,-------------------------------------------+-----+-----|
-  * |     |     |  | BASE  |      |      |           |     |     |               |       |     |       |     |     |     |
-  * `-----------'  `---------------------------------------'     `-------------------------------------------------------'
-  */
-  [MOD] = LAYOUT(
+  [GIT] = LAYOUT(
 //--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
                       _______,  _______,  _______,  _______,  _______,  _______,  _______,              _______,   _______,  _______,  _______,  _______,  _______,  _______,  _______, _______,
 _______,  _______,    _______,  _______,  _______,  _______,  _______,  _______,  _______,              _______,   _______,  _______,  _______,  _______,  _______,  _______,           _______,
-_______,  _______,    _______,  _______,  KC_HOME,  KC_UP,    KC_END,   KC_PGUP,              _______,  KC_MS_BTN1,KC_MS_UP, KC_MS_BTN3,KC_MS_BTN2,_______,_______,  _______,           _______,
-_______,  _______,    _______,  _______,  KC_LEFT,  KC_DOWN,  KC_RIGHT, KC_PGDOWN,              _______,KC_MS_LEFT,KC_MS_DOWN,KC_MS_RIGHT,KC_APPLICATION,  _______,  _______,           _______,
-_______,  _______,    _______,  _______,  _______,  _______,  _______,  _______,              _______,  _______,   _______,  _______,  _______,                      _______, _______,  _______,
-_______,  TO(WORKMAN),TO(BASE), KC_MS_ACCEL0,KC_MS_ACCEL1,KC_MS_ACCEL2, _______,                        _______,             _______, _______,   _______,            _______, _______,  _______
+_______,  _______,    _______,  _______,  G_DIFF,   G_RST,    _______,  G_BRCH,               _______,   G_FTCH,   _______,  G_P,      _______,  _______,  _______,  _______,           _______,
+_______,  _______,    _______,  G_ADD,    G_S,      _______,  _______,  _______,              _______,  _______,   _______,  _______,  _______,  _______,  _______,                     _______,
+_______,  _______,    _______,  _______,  _______,  G_C,      _______,  G_MERG,               _______,   G_LOG,    _______,  G_DEV,    _______,                      _______, _______,  _______,
+_______,  _______,    _______,  _______,  _______,  _______,  _______,                        _______,             _______,  _______,  _______,                      _______, _______,  _______
   ),
   
-  /*    MEDIA      ,-----------------------------------------.     ,-----------------------------------------------------.
+  [GIT_C] = LAYOUT(
+//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
+                      XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,              XXXXXXX,   XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX, XXXXXXX,
+XXXXXXX,  XXXXXXX,    XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,              XXXXXXX,   XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  _______,           XXXXXXX,
+XXXXXXX,  XXXXXXX,    XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,              XXXXXXX,  XXXXXXX,   XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,           XXXXXXX,
+XXXXXXX,  XXXXXXX,    XXXXXXX,  XXXXXXX,  XXXXXXX,  G_CHEC,   XXXXXXX,  XXXXXXX,              XXXXXXX,  XXXXXXX,   XXXXXXX,  G_COMM,   XXXXXXX,  XXXXXXX,  XXXXXXX,                     XXXXXXX,
+XXXXXXX,  XXXXXXX,    _______,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,              XXXXXXX,  XXXXXXX,   XXXXXXX,  XXXXXXX,  XXXXXXX,                      _______, XXXXXXX,  XXXXXXX,
+XXXXXXX,  XXXXXXX,    XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  KC_BSPC,                        XXXXXXX,             XXXXXXX,  XXXXXXX,  XXXXXXX,                      XXXXXXX, XXXXXXX,  XXXXXXX
+  ),
+  
+  [GIT_S] = LAYOUT(
+//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
+                      XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,              XXXXXXX,   XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX, XXXXXXX,
+XXXXXXX,  XXXXXXX,    XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,              XXXXXXX,   XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  _______,           XXXXXXX,
+XXXXXXX,  XXXXXXX,    XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,              XXXXXXX,  XXXXXXX,   XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,           XXXXXXX,
+XXXXXXX,  XXXXXXX,    XXXXXXX,  XXXXXXX,  G_STSH,   G_SHOW,   G_STAT,   XXXXXXX,              XXXXXXX,  XXXXXXX,   XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,                     XXXXXXX,
+XXXXXXX,  XXXXXXX,    _______,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,              XXXXXXX,  XXXXXXX,   XXXXXXX,  XXXXXXX,  XXXXXXX,                      _______, XXXXXXX,  XXXXXXX,
+XXXXXXX,  XXXXXXX,    XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  KC_BSPC,                        XXXXXXX,             XXXXXXX, XXXXXXX,   XXXXXXX,                      XXXXXXX, XXXXXXX,  XXXXXXX
+  ),   
+  
+ /*                ,-----------------------------------------.     ,-----------------------------------------------------.
   *                |     |     |     |     |     |     |     |     |     |     |     |     |     |     |     |     |     |
   * ,-----------.  |-----+-----+-----+-----+-----+-----+-----|     |-----+-----+-----+-----+-----+-----+-----------+-----|
   * |     |     |  |     |     |     |     |     |     |     |     |     |     |     |     |     |     |           |     |
@@ -140,50 +243,25 @@ _______,  TO(WORKMAN),TO(BASE), KC_MS_ACCEL0,KC_MS_ACCEL1,KC_MS_ACCEL2, _______,
   * |-----+-----|  |---------------------------------------.    `--------------------------------------------------+-----|
   * |     |     |  |         |     |     |     |     |     |     |     |     |     |     |     |     |             |     |
   * |-----+-----|  |-----------------------------------------.   `-------------------------------------------------+-----|
-  * |     |     |  |           |     |     | Play|     |     |     |     |     |     |     |       |         |     |     |
+  * |     |     |  |           |    |     |      |     |     |     |     |     |     |     |       |         |     |     |
   * |-----+-----|  |-----------------------------------------'   ,-------------------------------------------+-----+-----|
-  * |     |     |  | BASE  |      |      |           |     |     |               |       |     |       |     |     |     |
+  * |     |     |  |       |      |      |           |     |     |               |       |     |       |     |     |     |
   * `-----------'  `---------------------------------------'     `-------------------------------------------------------'
   */
-  [MEDIA] = LAYOUT(
-//--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
-                      _______,  _______,  _______,  _______,  _______,  _______,  _______,              _______,   _______,  _______,  _______,  _______,  _______,  _______,  _______, _______,
-_______,  _______,    _______,  _______,  _______,  _______,  _______,  _______,  _______,              _______,   _______,  _______,  _______,  _______,  _______,  _______,           _______,
-_______,  _______,    _______,  KC_MPRV,  KC_VOLU,  KC_MNXT,  _______,  _______,              _______,  _______,   _______,  _______,  _______,  _______,  _______,  _______,           _______,
-_______,  _______,    _______,  _______,  KC_VOLD,  _______,  _______,  _______,              _______,  _______,   _______,  _______,  _______,  _______,  _______,                     _______,
-_______,  _______,    _______,  _______,  KC_MUTE,  KC_MPLY,  _______,  _______,              _______,  _______,   _______,  _______,  _______,                      _______, _______,  _______,
-_______,  _______,    _______,  _______,  _______,  _______,  _______,                        _______,             _______, _______,   _______,                      _______, _______,  _______
-  )
+  // [] = LAYOUT(
+// //--------------------------------Left Hand-----------------------------------------------| |--------------------------------Right Hand------------------------------------------------
+                      // _______,  _______,  _______,  _______,  _______,  _______,  _______,              _______,   _______,  _______,  _______,  _______,  _______,  _______,  _______, _______,
+// _______,  _______,    _______,  _______,  _______,  _______,  _______,  _______,  _______,              _______,   _______,  _______,  _______,  _______,  _______,  _______,           _______,
+// _______,  _______,    _______,  _______,  _______,  _______,  _______,  _______,              _______,  _______,   _______,  _______,  _______,  _______,  _______,  _______,           _______,
+// _______,  _______,    _______,  _______,  _______,  _______,  _______,  _______,              _______,  _______,   _______,  _______,  _______,  _______,  _______,                     _______,
+// _______,  _______,    _______,  _______,  _______,  _______,  _______,  _______,              _______,  _______,   _______,  _______,  _______,                      _______, _______,  _______,
+// _______,  _______,    _______,  _______,  _______,  _______,  _______,                        _______,             _______, _______,   _______,                      _______, _______,  _______
+  // ),
 };
 
-bool led_update_user(led_t led_state) {
-    writePin(CAPSLOCK_LED_PIN, led_state.caps_lock);
-    return false;
-}
+bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
+  switch (keycode) {
 
-void keyboard_pre_init_user(void) {
-    writePinHigh(SCROLLLOCK_LED_PIN);
-    wait_ms(50);
-    writePinHigh(CAPSLOCK_LED_PIN);
-    wait_ms(50);
-    writePinHigh(NUMLOCK_LED_PIN);
-    wait_ms(50);
-    writePinLow(SCROLLLOCK_LED_PIN);
-    wait_ms(50);
-    writePinLow(CAPSLOCK_LED_PIN);
-    wait_ms(50);
-    writePinLow(NUMLOCK_LED_PIN);
-	
-	layer_state_set_user(layer_state);
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
-    writePinLow(NUMLOCK_LED_PIN);
-    writePinLow(SCROLLLOCK_LED_PIN);
-    switch (get_highest_layer(state)) {
-    case BASE:
-        writePinHigh(SCROLLLOCK_LED_PIN);
-        break;
-    }
-    return state;
-}
+  }
+  return true;
+}
\ No newline at end of file
diff --git a/keyboards/wheatfield/split75/keymaps/art/rules.mk b/keyboards/wheatfield/split75/keymaps/art/rules.mk
new file mode 100644
index 0000000000..5f8cb68ad0
--- /dev/null
+++ b/keyboards/wheatfield/split75/keymaps/art/rules.mk
@@ -0,0 +1 @@
+DYNAMIC_MACRO_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/wheatfield/split75/keymaps/default/keymap.c b/keyboards/wheatfield/split75/keymaps/default/keymap.c
index 069eb6bd10..30057f881a 100644
--- a/keyboards/wheatfield/split75/keymaps/default/keymap.c
+++ b/keyboards/wheatfield/split75/keymaps/default/keymap.c
@@ -1,6 +1,8 @@
 #include QMK_KEYBOARD_H
 
-#define BASE 0
+enum layer_names {
+  BASE
+};
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
diff --git a/users/art/art.c b/users/art/art.c
new file mode 100644
index 0000000000..5596e237f8
--- /dev/null
+++ b/users/art/art.c
@@ -0,0 +1,464 @@
+#include "art.h"
+#include "string.h"
+
+__attribute__ ((weak))
+bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
+  return true;
+}
+
+__attribute__ ((weak))
+void led_show_current_os(void) {
+}
+
+static bool mac_ctrl_on = false; //for switching tabs
+static bool mac_gui_on = false; //for switching languages
+static bool mac_alt_tab_on = false; //for switching windows
+
+static const char *key_up[2] = {SS_UP(X_LALT), SS_UP(X_LCTL)};
+static const char *key_down[2] = {SS_DOWN(X_LALT), SS_DOWN(X_LCTL)};
+
+int char_to_del = 1;
+static bool sarcasm_on = false;
+static bool sarcasm_key = false;
+
+void backspace_n_times(int times) {
+  for (int i=0; i<times; i++) {
+    SEND_STRING(SS_TAP(X_BSPC));  
+  }
+}
+
+void send_string_remembering_length(char *string) {
+  send_string(string);
+  char_to_del = strlen(string);
+}
+
+void send_shifted_strings(char *string1, char *string2) {
+  if ( get_mods() & MOD_MASK_SHIFT ) {
+    clear_mods();
+    send_string_remembering_length(string2);
+  } else {
+    send_string_remembering_length(string1);
+  }
+}
+
+void send_shifted_strings_add(char *string1, char *string2) {
+  bool shifted = get_mods() & MOD_MASK_SHIFT;
+  clear_mods();
+
+  send_string_remembering_length(string1);
+
+  if (shifted) {
+    send_string(string2);
+    char_to_del = strlen(string1) + strlen(string2);
+  }
+}
+
+bool is_mac_with_base_layer_off(void) {
+  return !is_win && !layer_state_is(BASE);
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+  if (sarcasm_on) {
+    sarcasm_key = ! sarcasm_key;  
+    if (sarcasm_key) {
+      SEND_STRING(SS_TAP(X_CAPS));
+    }
+  }
+
+  //Checking all other non-backspace keys to clear the backspace buffer. This is to prevent the bug of deleting N chars sometime after using a macro
+  if (record->event.pressed && (keycode != KC_BSPACE && keycode != XXXXXXX)) {
+    char_to_del = 1;
+  }
+
+  switch (keycode) {
+    case KC_TAB:
+      if (record->event.pressed && is_mac_with_base_layer_off()) {
+        uint8_t mods = get_mods();
+        uint8_t mod_state = mods & MOD_MASK_ALT;
+        if (get_mods() & mod_state) {
+          del_mods(mod_state);
+          add_mods(MOD_LCTL);
+          mac_alt_tab_on = true;
+        }
+
+        mod_state = mods & MOD_MASK_CTRL;
+        if (get_mods() & mod_state && !mac_alt_tab_on) {
+          del_mods(mod_state);
+          add_mods(MOD_LGUI);
+          mac_ctrl_on = true;
+        }
+      }
+      break;
+    case KC_LSFT:
+      if (record->event.pressed && is_mac_with_base_layer_off()) {
+        uint8_t mods = get_mods();
+        uint8_t mod_state = mods & MOD_MASK_AG;
+        if (get_mods() & mod_state) {
+          del_mods(mod_state);
+          add_mods(MOD_LGUI);
+          mac_gui_on = true;
+          SEND_STRING(SS_TAP(X_SPACE));
+          return false;
+        } else {
+          return true;
+        }
+      }
+      break;
+    case KC_LEFT:
+    case KC_RIGHT:
+      if (record->event.pressed && is_mac_with_base_layer_off()) {
+        /* && !mac_ctrl_on/!mac_alt_tab_on are required since setting the state while holding the key changes
+        the modifier from OS's perspective. As a result, just the pressed key cannot be the single source
+        of truth to determine which state we're in, and a separate bool is required */
+        uint8_t mods = get_mods();
+        uint8_t mod_state = mods & MOD_MASK_ALT;
+        //Allows Ctrl <-/-> on Mac if Ctrl Tab is already pressed
+        if (get_mods() & mod_state && mac_alt_tab_on && !mac_ctrl_on) {
+          del_mods(mod_state);
+          add_mods(MOD_LCTL);
+        }
+
+        mod_state = mods & MOD_MASK_CTRL;
+        if (get_mods() & mod_state && !mac_alt_tab_on) {
+          del_mods(mod_state);
+          add_mods(MOD_LALT);
+          mac_ctrl_on = true;
+        }
+      }
+      break;
+    case KC_DEL:
+      if (record->event.pressed && is_mac_with_base_layer_off()) {
+        uint8_t mod_state = get_mods() & MOD_MASK_CTRL;
+        if (get_mods() & mod_state) {
+          del_mods(mod_state);
+          add_mods(MOD_LALT);
+          mac_ctrl_on = true;
+        }
+      }
+      break;
+    case KC_LALT:
+      if (!record->event.pressed && is_mac_with_base_layer_off()) {
+        if (mac_alt_tab_on) {
+          unregister_mods(MOD_LCTL);
+          mac_alt_tab_on = false;
+          return false;
+        } else if (mac_gui_on) {
+          SEND_STRING(SS_UP(X_LGUI));
+          mac_gui_on = false;
+          return false;
+        }
+      }
+      break;
+    case KC_RALT:
+      if (!record->event.pressed && mac_alt_tab_on && is_mac_with_base_layer_off()) {
+        unregister_mods(MOD_LCTL);
+        mac_alt_tab_on = false;
+        return false;
+      }
+      break;
+    case KC_LCTL:
+    case KC_RCTL:
+      if (!record->event.pressed && mac_ctrl_on && is_mac_with_base_layer_off()) {
+        SEND_STRING(SS_UP(X_LGUI) SS_UP(X_LALT));
+        mac_ctrl_on = false;
+        return false;
+      }
+      break;
+
+    case KC_HOME:
+      if (record->event.pressed && is_mac_with_base_layer_off()) {
+        SEND_STRING(SS_LCTL(SS_TAP(X_LEFT)));
+        return false;
+      }
+      break;
+    case KC_END:
+      if (record->event.pressed && is_mac_with_base_layer_off()) {
+        SEND_STRING(SS_LCTL(SS_TAP(X_RIGHT)));
+        return false;
+      }
+      break;
+    case KC_BSPC:
+      if (record->event.pressed) {
+        if (char_to_del > 1) {
+          layer_off(GIT_C);
+          layer_off(GIT_S);
+          backspace_n_times(char_to_del);
+          char_to_del = 1;
+          return false;
+        }
+
+        if (is_mac_with_base_layer_off()) {
+          uint8_t mod_state = get_mods() & MOD_MASK_CTRL;
+          if (get_mods() & mod_state) {
+            del_mods(mod_state);
+            add_mods(MOD_LALT);
+            mac_ctrl_on = true;
+          }
+        }
+      }
+      break;
+
+    /* -------------------------------------------------------------------------
+     *                            CUSTOM MACROS
+     * ------------------------------------------------------------------------ */
+    case CTRL_CTV:
+      if (record->event.pressed) {
+        if ( get_mods() & MOD_MASK_SHIFT ) {
+          clear_mods();
+          SEND_STRING(SS_LCTL("ctv"));
+        } else {
+          SEND_STRING(SS_LCTL("ctv") SS_TAP(X_ENTER));
+        }
+      }
+      break;
+    case CTRL_LCTV:
+      if (record->event.pressed) {
+        if ( get_mods() & MOD_MASK_SHIFT ) {
+          //Firefox
+          clear_mods();
+          SEND_STRING(SS_LCTL("lcP"));
+          wait_ms(200);
+          SEND_STRING(SS_LCTL("v") SS_TAP(X_ENTER));
+        } else if ( get_mods() & MOD_MASK_CTRL ) {
+          //Chrome
+          clear_mods();
+          SEND_STRING(SS_LCTL("lcNv") SS_TAP(X_ENTER));
+        } else {
+          SEND_STRING(SS_LCTL("lctv"));
+        }
+      }
+      break;
+    case CTRL_CAV:
+      if (record->event.pressed) {
+        SEND_STRING(SS_LCTL("c" SS_TAP(X_TAB)));
+        wait_ms(50);
+        SEND_STRING(SS_LCTL("av"));
+      }
+      break;
+    case SARCASM:
+      if (record->event.pressed) {
+        sarcasm_on = !sarcasm_on;
+      }
+      break;
+
+    /* -------------------------------------------------------------------------
+     *                            OS TOGGLING
+     * ------------------------------------------------------------------------ */
+    case TOG_OS:
+      if (record->event.pressed) {
+        is_win = ! is_win;
+        led_show_current_os();
+      }
+      break;
+    case CTR_ALT:
+      if (record->event.pressed) {
+        send_string(key_down[is_win]);
+      } else {
+        send_string(key_up[is_win]);
+      }
+      break;
+    case OS_CTRL:
+      if (is_win) {
+        if (record->event.pressed) {
+          SEND_STRING(SS_DOWN(X_LCTL));
+        } else {
+          SEND_STRING(SS_UP(X_LCTL));
+        }
+      } else {
+        if (record->event.pressed) {
+          SEND_STRING(SS_DOWN(X_LGUI));
+        } else {
+          SEND_STRING(SS_UP(X_LGUI));
+        }
+      }
+      break;
+    case OS_WIN:
+      if (is_win) {
+        if (record->event.pressed) {
+          SEND_STRING(SS_DOWN(X_LGUI));
+        } else {
+          SEND_STRING(SS_UP(X_LGUI));
+        }
+      } else {
+        if (record->event.pressed) {
+          SEND_STRING(SS_DOWN(X_LCTL));
+        } else {
+          SEND_STRING(SS_UP(X_LCTL));
+        }
+      }
+      break;
+
+    /* -------------------------------------------------------------------------
+     *                            STRING MACROS
+     * ------------------------------------------------------------------------ */
+    // case :
+    //   if (record->event.pressed) {
+    //     send_string_remembering_length("");
+    //   }
+    //   break;
+    // case :
+    //   if (record->event.pressed) {
+    //     send_string_remembering_length("", "");
+    //   }
+    //   break;
+    case TILD_BLOCK:
+      if (record->event.pressed) {
+        SEND_STRING("```" SS_LSFT(SS_TAP(X_ENTER) SS_TAP(X_ENTER)) "```" SS_TAP(X_UP));
+        char_to_del = 4;
+      }
+      break;
+    case ADMINS:
+      if (record->event.pressed) {
+        send_shifted_strings_add("admin", "/aurora/status");
+      }
+      break;
+    case PRESCRIPTION:
+      if (record->event.pressed) {
+        SEND_STRING("55\t12122019\t");
+        char_to_del = 8;
+      }
+      break;
+    case FOURS:
+      if (record->event.pressed) {
+        SEND_STRING("4444333322221111\t1\t12\t21\t123\n");
+        char_to_del = 16;
+      }
+      break;
+      
+  case G_ADD:
+    if (record->event.pressed) {
+      send_string_remembering_length("git add ");
+    }
+    break;
+  case G_BRCH:
+    if (record->event.pressed) {
+      send_shifted_strings_add("git branch ", "-d ");
+    }
+    break;
+  case G_C:
+    if (record->event.pressed) {
+      send_string_remembering_length("git c[Heckout/Ommit]");
+      layer_on(GIT_C);
+    }
+    break;
+  case G_CHEC:
+    if (!record->event.pressed) {
+      bool shifted = get_mods() & MOD_MASK_SHIFT;
+      clear_mods();
+            
+      backspace_n_times(15);
+      SEND_STRING("heckout ");
+      char_to_del = 13;
+      if (shifted) {
+        SEND_STRING("-b ");
+        char_to_del = 16;
+      }
+      layer_off(GIT_C);
+    }
+    break;
+  case G_COMM:
+    if (!record->event.pressed) {
+      bool shifted = get_mods() & MOD_MASK_SHIFT;
+      clear_mods();
+      
+      backspace_n_times(15);
+      SEND_STRING("ommit -");
+      char_to_del = 15;
+      if (shifted) {
+        SEND_STRING("a");
+        char_to_del = 16;
+      }
+      SEND_STRING("m \"\"" SS_TAP(X_LEFT));
+      layer_off(GIT_C);
+    }
+    break;
+  case G_DEV:
+    if (record->event.pressed) {
+      send_shifted_strings("develop", "master");
+    }
+    break;
+  case G_DIFF:
+    if (record->event.pressed) {
+      send_string_remembering_length("git diff ");
+    }
+    break;	
+  case G_FTCH:
+    if (record->event.pressed) {
+      send_string_remembering_length("git fetch ");
+    }
+    break;
+  case G_LOG:
+    if (record->event.pressed) {
+      send_string_remembering_length("git log ");
+    }
+    break;
+  case G_MERG:
+    if (record->event.pressed) {
+      send_string_remembering_length("git merge ");
+    }
+    break;
+  case G_P:
+    if (record->event.pressed) {
+      send_shifted_strings_add("git pu", "sh -u ");
+    }
+    break;
+  case G_RST:
+    if (record->event.pressed) {
+      send_string_remembering_length("git reset ");
+    }
+    break;
+  case G_S:
+    if (!record->event.pressed) {
+      send_string_remembering_length("git s[taSh/How/taTus]");
+      layer_on(GIT_S);			
+    }
+    break;
+  case G_SHOW:
+    if (!record->event.pressed) {
+      backspace_n_times(16);
+      SEND_STRING("how ");
+      char_to_del = 9;
+      layer_off(GIT_S);
+    }
+    break;			
+  case G_STSH:
+    if (!record->event.pressed) {
+      bool shifted = get_mods() & MOD_MASK_SHIFT;
+      clear_mods();
+
+      backspace_n_times(16);
+      SEND_STRING("tash ");
+      char_to_del = 10;
+
+      if (shifted) {
+        clear_mods();
+        SEND_STRING("apply ");
+
+        char_to_del = 16;
+      }
+
+      layer_off(GIT_S);
+    }
+    break;		
+  case G_STAT:
+    if (!record->event.pressed) {
+      backspace_n_times(16);
+      SEND_STRING("tatus ");
+      char_to_del = 11;
+      layer_off(GIT_S);
+    }
+    break;
+
+  case CTL_ALT_START ... CTL_ALT_END:
+    if (record->event.pressed) {
+      if (is_win) {
+        tap_code16(LCTL(keycode - CTL_ALT_START));
+      } else {
+        tap_code16(LALT(keycode - CTL_ALT_START));
+      }
+    }
+    break;
+  }
+
+  return process_record_keymap(keycode, record);
+}
diff --git a/users/art/art.h b/users/art/art.h
new file mode 100644
index 0000000000..58b005b933
--- /dev/null
+++ b/users/art/art.h
@@ -0,0 +1,69 @@
+#pragma once
+#include QMK_KEYBOARD_H
+
+#define CTL_ALT(kc) (CTL_ALT_START + ((kc) & 0xff))
+
+extern bool is_win;
+
+enum layer_names {
+  QWERTY,
+  WORKMAN,  
+  BASE, //only specific for split75
+#if defined(KEYBOARD_wheatfield_split75)
+  QWERTY_MOD,
+  LAYOUT_CHG,
+#elif defined(KEYBOARD_ergodone)
+  FKEYS,
+  CTRL_NAV,
+  SHIFT_NAV,
+#endif
+
+  MEDIA,
+  COMBOS,
+  STRINGS,
+  CONFIG,
+  NAV,
+  NUMPAD,
+  GIT,
+  GIT_C,
+  GIT_S
+};
+
+enum custom_keycodes_art {
+  CTRL_CTV = SAFE_RANGE,
+  CTRL_LCTV,
+  CTRL_CAV,
+  SARCASM,
+
+  TOG_OS,
+  CTR_ALT,
+  OS_CTRL,
+  OS_WIN,
+
+  TILD_BLOCK,
+  ADMINS,
+  PRESCRIPTION,
+  FOURS,
+  
+  G_ADD,
+  G_BRCH,
+  G_C,
+  G_CHEC,	
+  G_COMM,
+  G_DEV,
+  G_DIFF,
+  G_FTCH,
+  G_LOG,
+  G_MERG,
+  G_P,
+  G_RST,
+  G_S,
+  G_STAT,
+  G_STSH,
+  G_SHOW,
+
+  CTL_ALT_START,
+  CTL_ALT_END = CTL_ALT_START + 0xff,
+
+  NEW_SAFE_RANGE  //for keymap specific codes
+};
diff --git a/users/art/config.h b/users/art/config.h
new file mode 100644
index 0000000000..72419ff376
--- /dev/null
+++ b/users/art/config.h
@@ -0,0 +1,4 @@
+#pragma once
+
+#undef TAPPING_TOGGLE
+#define TAPPING_TOGGLE 2
diff --git a/users/art/rules.mk b/users/art/rules.mk
new file mode 100644
index 0000000000..2b701eb949
--- /dev/null
+++ b/users/art/rules.mk
@@ -0,0 +1 @@
+SRC += art.c
\ No newline at end of file