Example (NOT REAL SYNTAX JUST SHOWING WHAT WE ARE DOING) We are trying to receive data from some type of connection like tcp We receive the data, then we want to add certain pieces of the data to the map like location and direction with a cone in front to show what can be seen. Everytime we either delete the overlay or erase the things on it, it will blink. So our thought was have 2 overlays where one is always active so it removes the blinking. //////Main////// main(){ while(1){ wait(5); //waits 5 seconds for data tcp.receivedata(); //receives data to add to the map or just update current data drawfunction(); //calls the draw function to update the data or draw new things } } //////////////// /////drawfunction///// drawfunction(){ if(overlay1){ overlay1.add(overlay) //The theory was that one overlay will be active at all times map->addoverlay(overlay1); //It will add the second overlay delete overlay2; //Then delete the first one } else{ overlay2.add(overlay) map->addoverlay(overlay2); delete overlay1; } } //////////////////////