   lcd.clear();
   lcd.setCursor(0, 0);
   lcd.print(message);
+}
+
+void handleSongSignature(char* messageOriginal) {
+  if (mode != SONG_MODE) {
+    return;
+  }
+
+  char* message = (char*)calloc(strlen(messageOriginal) + 1, sizeof(char));
+  strcpy(message, messageOriginal);
+  char* strings;
+  strings = strtok(message, "|");
+  if (strings == NULL) {
+    return;
+  }
+
+  byte numeratorTemp = atoi(strings);
+
+  strings = strtok(NULL, "|");
+  if (strings == NULL) {
+    return;
+  }
+
+  byte denominatorTemp = atoi(strings);
+  numerator = numeratorTemp;
+  denominator = denominatorTemp;
+
 }
 
 void clearLine(byte line) {

    return CURRENT_PART;
  } else if (strcmp(strings, "NP") == 0) {
    return NEXT_PART;
  }
  return -1;
}

      case NEXT_PART:
        handleNextPart(decoded + 4);
        break;
      case SONG_SIGNATURE:
        handleSongSignature(decoded + 4);
        break;
    }
  }
}
