 {
     if (c == '\n')
     {
-        pushCommand(_buffer);
-        _buffer = "";
+        parseCommand(_sys.buffer);
+        _sys.buffer = "";
     }
     else
     {
-        _buffer += c;
-    }
+        _sys.buffer += c;
+    }
+}
+
+void pushCommand(String cmd)
+{
+    _sys.commands[_sys.cmdsIndex] = cmd;
+    _sys.cmdsIndex++;
 }
 void parseCommand(String cmd)
 {

        setPower(v[0]);
        setSpeed(v[1]);
        setAccel(v[2]);
        finishCommand();
        break;
    }
    case 'e':

    uint8_t acceleration = 1;
    uint8_t statesIndex = 0;
    uint8_t cmdsIndex = 0;
    int8_t plannedIndex = -1;
    uint8_t isRunningState = MOTION_ACCELETING;
    uint8_t powerPin = 10;
    String buffer = "";
    bool isFinish = true;
};
SystemStatus _sys;
MeStepper steppers[NUM_AXIS] = {MeStepper(SLOT_1), MeStepper(SLOT_2)};

void setup()
{
    Serial.begin(115200);
    delay(1000);
    initTimer();
    for (int i = 0; i < NUM_AXIS; i++)
    {
        steppers[i].setMicroStep(16);
        steppers[i].enableOutputs();
    }
    Serial.println("opened");
}

void loop()
