diff --git a/include/turtlesim/turtle.h b/include/turtlesim/turtle.h
index ad371236850958bcf50e51c63d0726274fa8c75f..901639cfc9d6db7687290c2b4212d8028faa14d0 100644
--- a/include/turtlesim/turtle.h
+++ b/include/turtlesim/turtle.h
@@ -97,7 +97,8 @@ private:
   ros::WallTime last_command_time_;
 
   float meter_;
-  QString label = "0";
+  bool label_on_ = false;
+  QString label_ = "";
 
   struct TeleportRequest
   {
diff --git a/src/turtle.cpp b/src/turtle.cpp
index bb128e813c9985bde2a1d6d817672650f44456ca..e33ad7ecd2073133c537b058d67f272475fe3200 100644
--- a/src/turtle.cpp
+++ b/src/turtle.cpp
@@ -92,7 +92,8 @@ bool Turtle::setPenCallback(turtlesim::SetPen::Request& req, turtlesim::SetPen::
 }
 
 bool Turtle::setLabelCallback(turtlesim_xl::SetLabel::Request& req, turtlesim_xl::SetLabel::Response&){
-  Turtle::label = QString(req.name.c_str());
+  Turtle::label_ = QString(req.name.c_str());
+  label_on_ = req.on;
   return true;
 }
 bool Turtle::teleportRelativeCallback(turtlesim::TeleportRelative::Request& req, turtlesim::TeleportRelative::Response&)
@@ -220,14 +221,15 @@ bool Turtle::update(double dt, QPainter& path_painter, const QImage& path_image,
 void Turtle::paint(QPainter& painter)
 {
   QPointF p = pos_ * meter_;
-  QPointF pl = pos_ * meter_;
-  pl.rx() -= 0.3 * turtle_rotated_image_.width();
-  //pl.ry() -= 0.5 * turtle_rotated_image_.height();
   p.rx() -= 0.5 * turtle_rotated_image_.width();
   p.ry() -= 0.5 * turtle_rotated_image_.height();
   painter.drawImage(p, turtle_rotated_image_);
-  painter.setPen(Qt::red);
-  painter.drawText(pl,Turtle::label);
+  if(label_on_){
+    QPointF pl = pos_ * meter_;
+    pl.rx() -= 0.3 * turtle_rotated_image_.width();
+    painter.setPen(Qt::red);
+    painter.drawText(pl,Turtle::label_);
+  }
 }
 
 }
diff --git a/src/turtle_frame.cpp b/src/turtle_frame.cpp
index 55cff29401d151b7f9245f3df02f92e298fc9bd6..c0395b16dabbf316a430a4b2687225ae2cbb131c 100644
--- a/src/turtle_frame.cpp
+++ b/src/turtle_frame.cpp
@@ -35,9 +35,9 @@
 #include <cstdlib>
 #include <ctime>
 
-#define DEFAULT_BG_R 0x2a
-#define DEFAULT_BG_G 0x2a
-#define DEFAULT_BG_B 0x2e
+#define DEFAULT_BG_R 0x00
+#define DEFAULT_BG_G 0x00
+#define DEFAULT_BG_B 0x00
 #define FRAME_WIDTH 1200
 #define FRAME_HEIGHT 800
 
diff --git a/srv/SetLabel.srv b/srv/SetLabel.srv
index ac4c27dc2a1886c5561a41daafc9803720496d35..772f305d6f2141ced57f2db61c18fe9509e53105 100644
--- a/srv/SetLabel.srv
+++ b/srv/SetLabel.srv
@@ -1 +1,2 @@
-string name
\ No newline at end of file
+string name
+uint8 on
\ No newline at end of file