     case 3:
       //warning mode- 10minutes have passed
       break;
+    case 4:
+      //radio mode- still is counting 10 minutes
+      break;
+    case 5:
+      //math mode
+      break;
     default:
       break;
   }

      if(reading != buttonState){
        buttonState=reading;
        if(buttonState==LOW){
          if(mode != 0){
            changeMode(0);
          }
          else{
            changeMode(1);
          }
        }
      }

    pixelsB.show();
  }
}

// return how long the first blinking sequence lasts
unsigned long waitDuration(int myMode){
  unsigned long value=600;
  switch(myMode){
    case 1:
      value=value;
      break;
    case 4:
      value=2*value;
      break;
    case 5:
      value=3*value;
      break;
    default:
      value=0;
  }
  return value;
}
void setColors(){
  if(mode==1 || mode ==4 || mode ==5){
    if((millis()-startCurrentMode)<waitDuration(mode)){
      // blink if the current mode just started
      if((millis()-startCurrentMode)%600 < 300){
        color[0]=200;
        color[1]=200;
        color[2]=200;
      }
      else{
        color[0]=0;
        color[1]=0;
        color[2]=0;
      }
    }
    else{
      float ratio= 0.7+ 0.3 * sin(((millis()/10)%360)*3.14/180);
      int tmp[3];
      for(int i=0; i<3; i++){
