 
     CHECK_ABORT();
 
-    sprintf(_sbuf, "Time: %02d:%02d:%02d\n", hours, minutes, seconds);
-    Serial.print(_sbuf);
-  } 
+    watch_set_time(hours, minutes, seconds);
+
+    uint16_t year = sync_get_int();
+    uint8_t month = sync_get_int();
+    uint8_t day = sync_get_int();
+    uint8_t isleapyear = sync_get_int();
+
+    CHECK_ABORT();
+
+    watch_set_date(year, month, day, isleapyear);
+    Serial.println("OK");
+  }
 }

/**
 * Checks serial connection for start of sync.
 *
 * Sync protocol uses ; as delimiter, and is as follows:
 *
 * The characters SYNC is sent, followed by ;

  Sync.abort = 0;
  if (Serial.available()) {
    if (sync_get_word("SYNC;") == OK) {
      Serial.println("SYNC");
    } else return;

    uint8_t hours = sync_get_int();
    uint8_t minutes = sync_get_int();
