TM1637 4 digit display

I'm having a little local difficulty implementing the colon on this 4 digit display. Every time I write an integer to the display it wipes out the colon, then when I put the colon back in it sets the 2nd digit to 2.

Here's what I'm using to put the colon in, copied from user guide

   uint8_t segto;
  int value = 1244;
  segto = 0x80 | display.encodeDigit((value / 100)%10);
  display.setSegments(&segto, 1, 1);

I've also tried to implement the code to clear all digits, but it won't compile

Uint8_t data[] = {0x0, 0x0, 0x0, 0x0};

This is not the compelete code you need to display something.
Try something like this just for test.

#include <TM1637Display.h>

// Module connection pins (Digital Pins)
#define CLK 2
#define DIO 3

TM1637Display display(CLK, DIO);
   int k;
   uint8_t data[] = { 0x0, 0x0, 0x0, 0x0 };
void setup()
       for(k = 3; k >= 0; k--) {
display.setSegments(data, 1, k);

void loop()
// Display colon
 byte colon;
 int value = 1534;
 colon = 0x80|display.encodeDigit((value/100)%10);

I had the extra bits of code, should have shown them, what I had wrong was displaying the colon. However, penny has dropped, the line
colon = 0x80 | display.encodeDigit((value / 100)%10);
inserts the colon into value then displays it, if I've described that OK. It now works , thanks