   isMoveBackward = command[1] == '1';
   isMoveLeft = command[2] == '1';
   isMoveRight = command[3] == '1';
+  isLedBlink = command[4] == '1';
+
+  int speed = command[5] - '0';
+  if (speed > MIN_SPEED && speed < MAX_SPEED)
+      movingSpeed = speed;
   
   comply();
 }
 
 void moveForward() {
-//  analogWrite(MOTOR_PIN, 200);
-  digitalWrite(MOTOR_PIN, HIGH);
+  if (movingSpeed == 1)
+    analogWrite(MOTOR_PIN, 200);
+  else if (movingSpeed == 2)
+    analogWrite(MOTOR_PIN, 225);
+  else
+    digitalWrite(MOTOR_PIN, HIGH);
 }
 
 void stopMoving() {

}

void left() {
  servo.write(40);
};
void center() {
  servo.write(90);
};
void right() {
  servo.write(140);
};

void clearCommand() {
  for (int i = 0; i < 4; i++) {
    command[i] = '0';
  }
}


  else if (isMoveRight)
    right();
  else
    center();

  if (isHeartBeat)
    blinkLed();
}

void setup() {
  Serial.begin(9600);
  servo.attach(SERVO_PIN);
  pinMode(MOTOR_PIN, OUTPUT);
  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  int i = 0;
  if (Serial.available() > 0 ) {
    char ch = Serial.read();
    if (ch == '\n') {
