diff --git a/assignments/src/MV3500Cohort2020JulySeptember/homework4/Britt/BrittSimulation.java b/assignments/src/MV3500Cohort2020JulySeptember/homework4/Britt/BrittSimulation.java
index 7b366890056bc5b6559ba162f3cb092937d30a24..d5a2909abd3d68c07c88c2745ffd765d5cb40152 100644
--- a/assignments/src/MV3500Cohort2020JulySeptember/homework4/Britt/BrittSimulation.java
+++ b/assignments/src/MV3500Cohort2020JulySeptember/homework4/Britt/BrittSimulation.java
@@ -218,6 +218,7 @@ public class BrittSimulation
         boolean simulationComplete = false; // sentinel variable as termination condition
         boolean fireBool = false;
         boolean destBool = false;
+        boolean resupBool = false;
         // TODO reset clock to zero each time for consistent outputs.
         
         // your model setup: who's who in this zoo?
@@ -234,19 +235,19 @@ public class BrittSimulation
         
         
         
-                               EntityID M49ID = new EntityID();
-                                M49ID.setSiteID(1);
-                                M49ID.setApplicationID(13);
-                                M49ID.setEntityID(26);
-                                entityStatePdu.setEntityID(M49ID);
-                                EntityType M49Type = new EntityType(); //1.1.225.7.1.11 Platform,Ground,USA,M49 
-                                M49Type.setEntityKind(EntityKind.PLATFORM);
-                                M49Type.setDomain(Domain.inst(PlatformDomain.LAND));
-                                M49Type.setCountry(Country.UNITED_STATES_OF_AMERICA_USA);
-                                M49Type.setCategory(7);
-                                M49Type.setSubCategory(1);
-                                M49Type.setSpecific(11);
-                                entityStatePdu.setEntityType(M49Type);
+                               EntityID MTVRID = new EntityID();
+                                MTVRID.setSiteID(1);
+                                MTVRID.setApplicationID(13);
+                                MTVRID.setEntityID(26);
+                                entityStatePdu.setEntityID(MTVRID);
+                                EntityType MTVRType = new EntityType(); //1.1.225.7.39.3 MTVR
+                                MTVRType.setEntityKind(EntityKind.PLATFORM);
+                                MTVRType.setDomain(Domain.inst(PlatformDomain.LAND));
+                                MTVRType.setCountry(Country.UNITED_STATES_OF_AMERICA_USA);
+                                MTVRType.setCategory(7);
+                                MTVRType.setSubCategory(39);
+                                MTVRType.setSpecific(3);
+                                entityStatePdu.setEntityType(MTVRType);
                                 Vector3Double eloc2 = new Vector3Double();
                                 double[] loc2 = CoordinateConversions.getXYZfromLatLonDegrees(36.599831, -121.878842, 0); //sloat delmonte intersection
                                 eloc2.setX(loc2[0]);
@@ -262,21 +263,20 @@ public class BrittSimulation
                                 EntityStatePdu entityStatePdu2 = pduFactory.makeEntityStatePdu();
         
                                 
-                       
-                                
-                                EntityID NPSID = new EntityID();
-                                NPSID.setSiteID(1);
-                                NPSID.setApplicationID(13);
-                                NPSID.setEntityID(27);
-                                entityStatePdu2.setEntityID(NPSID);
-                                EntityType NPSType = new EntityType(); //5.1.0.14.1.3 NPS Building not sure if this is the right info but its the enumeration of a building in the siso doc
-                                NPSType.setEntityKind(EntityKind.CULTURAL_FEATURE);
-                                NPSType.setDomain(Domain.inst(PlatformDomain.LAND));
-                                NPSType.setCountry(Country.UNITED_STATES_OF_AMERICA_USA);
-                                NPSType.setCategory(14);
-                                NPSType.setSubCategory(1);
-                                NPSType.setSpecific(3);
-                                entityStatePdu2.setEntityType(NPSType);
+                 
+                                EntityID lavID = new EntityID();
+                                lavID.setSiteID(1);
+                                lavID.setApplicationID(13);
+                                lavID.setEntityID(25);
+                                entityStatePdu2.setEntityID(lavID);
+                                EntityType lavType = new EntityType(); //1.1.225.2.41.3 Platform,Ground,USA,ArmoredFightingVehicle,LAV,LAV25A2
+                                lavType.setEntityKind(EntityKind.PLATFORM);
+                                lavType.setDomain(Domain.inst(PlatformDomain.LAND));
+                                lavType.setCountry(Country.UNITED_STATES_OF_AMERICA_USA);
+                                lavType.setCategory(2);
+                                lavType.setSubCategory(41);
+                                lavType.setSpecific(3);
+                                entityStatePdu2.setEntityType(lavType);
                                 Vector3Double eloc1 = new Vector3Double();
                                 double[] loc1 = CoordinateConversions.getXYZfromLatLonDegrees(36.594116, -121.877463, 0); //NPS Main Gate
                                 eloc1.setX(loc1[0]);
@@ -327,10 +327,21 @@ public class BrittSimulation
                                 HEID.setEntityID(1);
                                 firePdu.setMunitionExpendibleID(HEID);
         
+                                ResupplyOfferPdu resupplyOfferPdu = pduFactory.makeResupplyOfferPdu();
+                                
+                                ArrayList<SupplyQuantity> pSupplies = new ArrayList<SupplyQuantity>();
+                                SupplyQuantity ammoSupplyQ = new SupplyQuantity();
+                                ammoSupplyQ.setSupplyType(HEType);
+                                ammoSupplyQ.setQuantity(500);
+                                pSupplies.add(ammoSupplyQ);
+                                resupplyOfferPdu.setSupplies(pSupplies);
+                                resupplyOfferPdu.setReceivingEntityID(lavID);
+                                resupplyOfferPdu.setSupplyingEntityID(MTVRID);
                                 
                                 CommentReliablePdu bmpDestroyedComment = pduFactory.makeCommentReliablePdu("BMP2 DESTROYED BY LAV25-A2 AFTER TWO BURSTS OF 25mm HEI-T ON TARGET");
                                 CommentReliablePdu bmpSightedComment = pduFactory.makeCommentReliablePdu("LAV25-A2 ACQUIRES TARGET BMP2 WITHIN FIRING DISTANCE");
-        //if(eloc1.getX())
+                                CommentReliablePdu lavSightedComment = pduFactory.makeCommentReliablePdu("LAV25-A2 IS WITHIN DISTANCE OF RESUPPLY");
+//if(eloc1.getX())
        
         // should we customize this munition?  what is it for your simulation?
         
@@ -358,13 +369,16 @@ public class BrittSimulation
             // etc. etc. your code goes here
                 
             if(range < 100){
-                if (!fireBool)
-                    sendPDU(bmpSightedComment);
-                fireBool = true;
-                System.out.println("Entity#" + firePdu.getFiringEntityID().getEntityID() + " is firing " + firePdu.getDescriptor().getMunitionType().getDomain() + "."+firePdu.getDescriptor().getMunitionType().getCountry()   + "." + firePdu.getDescriptor().getMunitionType().getCategory() + "."+ firePdu.getDescriptor().getMunitionType().getSubCategory() + "." + firePdu.getDescriptor().getMunitionType().getSpecific() + "."+ " at Entity#"+ firePdu.getTargetEntityID().getEntityID());
+                if (!resupBool)
+                    sendPDU(lavSightedComment);
+                resupBool = true;
+                System.out.println("Entity#" + entityStatePdu.getEntityID().getEntityID() + " is requesting to resupply " + " Entity#"+ entityStatePdu2.getEntityID().getEntityID());
             
 
-            if(firePdu.getTargetEntityID().getEntityID() == 2){
+            
+                
+                
+              if(firePdu.getTargetEntityID().getEntityID() == 2){
                 BMPHitsReceived += 1;
                 if (BMPHitsReceived > 1) {
                     //DESTROY THE BMP!
@@ -403,8 +417,8 @@ public class BrittSimulation
             //sendAllPdus(entityStatePdu2, null, null, narrativeMessage1, narrativeMessage2, narrativeMessage4);
             sendPDU(entityStatePdu);
             sendPDU(entityStatePdu2);
-            if (fireBool)
-                sendPDU(firePdu);
+            if (resupBool)
+                sendPDU(resupplyOfferPdu);
             if (destBool)
                 sendPDU(bmpDestroyedComment);
             
@@ -414,7 +428,7 @@ public class BrittSimulation
             // loop now finished, thus terminate if simulation complete, otherwise send latest PDUs and continue
             if (simulationComplete || (loopCount > 10000)) // for example; including fail-safe condition is good
             {
-                CommentReliablePdu completionPdu = pduFactory.makeCommentReliablePdu("White Simulation Completed");
+                CommentReliablePdu completionPdu = pduFactory.makeCommentReliablePdu("Britt Simulation Completed");
                 sendPDU(completionPdu);
                 System.out.println ("... Termination condition met, simulationComplete=" + simulationComplete);
                 break;
diff --git a/assignments/src/MV3500Cohort2020JulySeptember/homework4/Britt/WhiteSimulation.java b/assignments/src/MV3500Cohort2020JulySeptember/homework4/Britt/WhiteSimulation.java
deleted file mode 100644
index 9d95854ece52932f2ad8ae6bde531820449d9ff1..0000000000000000000000000000000000000000
--- a/assignments/src/MV3500Cohort2020JulySeptember/homework4/Britt/WhiteSimulation.java
+++ /dev/null
@@ -1,462 +0,0 @@
-/**
- * Copyright (c) 2008-2020, MOVES Institute, Naval Postgraduate School (NPS). All rights reserved.
- * This work is provided under a BSD open-source license, see project license.html and license.txt
- */
-package MV3500Cohort2020JulySeptember.homework4.White;
-
-import MV3500Cohort2020JulySeptember.homework4.White.working.*;
-import MV3500Cohort2020JulySeptember.homework4.White.*;
-import edu.nps.moves.dis7.enumerations.*;
-import edu.nps.moves.dis7.pdus.*;
-import edu.nps.moves.dis7.utilities.*;
-import java.io.ByteArrayOutputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-import java.net.DatagramPacket;
-import java.net.InetAddress;
-import java.net.MulticastSocket;
-import java.net.UnknownHostException;
-import java.util.ArrayList;
-import java.util.Set;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-public class WhiteSimulation
-{
-    // class variables
-    PduFactory pduFactory = new PduFactory();
-    DisThreadedNetworkInterface disNetworkInterface;
-    DisThreadedNetworkInterface.PduListener pduListener;
-    Pdu receivedPdu;
-    
-    private String networkAddress = "10.1.105.7";
-    private int    networkPort    = 2317;
-    
-    /**
-     * Constructor design goal: additional built-in initialization conveniences can go here
-     * to keep student efforts focused on the runSimulation() method.
-     */
-    public WhiteSimulation()
-    {
-        // Under consideration.  Constructor is not currently needed.
-    }
-    
-    /**
-     * Utility Constructor
-     * @param address network address to use
-     * @param port corresponding network port to use
-     */
-    public WhiteSimulation(String address, int port)
-    {
-        setNetworkAddress(address);
-        
-        setNetworkPort(port);
-    }
-
-    /**
-     * @return the networkAddress
-     */
-    public String getNetworkAddress()
-    {
-        return networkAddress;
-    }
-
-    /**
-     * @param networkAddress the networkAddress to set
-     */
-    public final void setNetworkAddress(String networkAddress)
-    {
-        this.networkAddress = networkAddress;
-    }
-
-    /**
-     * @return the networkPort
-     */
-    public int getNetworkPort()
-    {
-        return networkPort;
-    }
-
-    /**
-     * @param networkPort the networkPort to set
-     */
-    public final void setNetworkPort(int networkPort)
-    {
-        this.networkPort = networkPort;
-    }
-
-    /**
-     * Initialize network interface, choosing best available network interface
-     */
-    public void setUpNetworkInterface()
-    {
-        disNetworkInterface = new DisThreadedNetworkInterface(getNetworkAddress(), getNetworkPort());
-        
-        System.out.println("Network confirmation: address=" + disNetworkInterface.getMcastGroup() + " port=" + disNetworkInterface.getDisPort());
-        pduListener = new DisThreadedNetworkInterface.PduListener()
-        {
-            /** Callback handler for listener */
-            @Override
-            public void incomingPdu(Pdu newPdu)
-            {
-                receivedPdu = newPdu;
-            }
-        };
-        disNetworkInterface.addListener(pduListener);
-    }
-
-    /** All done, release network resources */
-    public void tearDownNetworkInterface()
-    {
-        disNetworkInterface.removeListener(pduListener);
-        disNetworkInterface.kill();
-        disNetworkInterface = null;
-    }
-
-    /** 
-     * Send a single Protocol Data Unit (PDU) of any type
-     * @param pdu the pdu to send
-     */
-    private void sendSinglePdu(Pdu pdu)
-    {
-        try
-        {
-            disNetworkInterface.send(pdu);
-            Thread.sleep(100); // TODO consider refactoring the wait logic and moving externally
-        } 
-        catch (InterruptedException ex)
-        {
-            System.err.println(this.getClass().getName() + " Error sending PDU: " + ex.getLocalizedMessage());
-            System.exit(1);
-        }
-    }
-
-    /**
-     * Send EntityState, Fire, Comment PDUs
-     * @see <a href="https://docs.oracle.com/javase/tutorial/java/javaOO/arguments.html">Passing Information to a Method or a Constructor</a> Arbitrary Number of Arguments
-     * @param entityStatePdu the ESPDU to send, if any
-     * @param firePdu        the FirePDU to send, if any
-     * @param commentType    enumeration value describing the narrative comment
-     * @param comments       String array of narrative comments
-     */
-    public void sendAllPdus(EntityStatePdu entityStatePdu,
-                               FirePdu firePdu,
-                               VariableRecordType commentType,
-                               // vararg... variable length string
-                               String... comments)
-    {
-        if (entityStatePdu != null)
-            sendPDU(entityStatePdu);
-            
-        if (firePdu != null)
-            sendPDU(firePdu); // bang
-        
-        if ((comments != null) && (comments.length > 0))
-        {
-            ArrayList<String> newCommentsList = new ArrayList<>();
-            for (int i = 0; i < comments.length; i++)
-            {
-                if (!comments[i].isEmpty())
-                     newCommentsList.add(comments[i]); // OK found something to send
-            }
-            if (!newCommentsList.isEmpty())
-            {
-                if (commentType == null)
-                    commentType = VariableRecordType.OTHER;
-                CommentPdu commentPdu = pduFactory.makeCommentPdu(commentType, newCommentsList.toArray(new String[0])); // comments);
-                sendPDU(commentPdu);
-            }
-        }
-    }
-  
-    /**
-     * Main method is first executed when a program instance is loaded.
-     * @see <a href="https://docs.oracle.com/javase/tutorial/getStarted/application/index.html">Java Tutorials: A Closer Look at the "Hello World!" Application</a>
-     * @param args command-line arguments are an array of optional String parameters that are passed from execution environment during invocation
-     */
-    public static void main(String[] args)
-    {
-        WhiteSimulation thisProgram = new WhiteSimulation(); // creates instance
-        
-        // initial execution: can handle args array of initialization arguments here
-        if (args.length == 2)
-        {
-            if ((args[0] != null) && !args[0].isEmpty())
-                thisProgram.setNetworkAddress(args[0]);
-            
-            if ((args[1] != null) && !args[1].isEmpty())
-                thisProgram.setNetworkPort(Integer.parseInt(args[1]));
-        }
-        else if (args.length != 0)
-        {
-            System.err.println("Usage: " + thisProgram.getClass().getName() + " [address port]");
-            System.exit(-1);
-        }
-        // OK here we go...
-
-        //thisProgram.setUpNetworkInterface();
-
-        thisProgram.runSimulation (); // customization code goes in there
-
-        //thisProgram.tearDownNetworkInterface();
-    }
-    
-    /**
-     * Programmer-modifiable method for defining and running a new simulation of interest.
-     * Support include DIS EntityStatePdu, FirePdu and CommentPdu all available for 
-     * modification and sending in a simulation loop.
-     */
-    @SuppressWarnings("SleepWhileInLoop")
-    public void runSimulation ()
-    {
-      try
-      {
-        final double LOOP_DURATION_SECONDS  =  1.0; // seconds
-        final int    MAX_LOOP_COUNT = 10;
-              int    loopCount = 0;
-        VariableRecordType narrativeType = VariableRecordType.OTHER; // of potential use
-        boolean simulationComplete = false; // sentinel variable as termination condition
-        boolean fireBool = false;
-        boolean destBool = false;
-        // TODO reset clock to zero each time for consistent outputs.
-        
-        // your model setup: who's who in this zoo?
-        // create PDU objects and set their values
-        
-         Vector3Double eloc3 = new Vector3Double();
-         double[] loc3 = CoordinateConversions.getXYZfromLatLonDegrees(36.600757, -121.869309, 0 );//NPS Corner by lake
-        
-        EntityID       entityID_1    = new EntityID();
-        entityID_1.setSiteID(1).setApplicationID(2).setEntityID(3); // made-up example ID
-
-        EntityStatePdu entityStatePdu = pduFactory.makeEntityStatePdu();
-        entityStatePdu.setEntityID(entityID_1);
-        
-        
-        
-                                EntityID lavID = new EntityID();
-                                lavID.setSiteID(1);
-                                lavID.setApplicationID(13);
-                                lavID.setEntityID(25);
-                                entityStatePdu.setEntityID(lavID);
-                                EntityType lavType = new EntityType(); //1.1.225.2.41.3 Platform,Ground,USA,ArmoredFightingVehicle,LAV,LAV25A2
-                                lavType.setEntityKind(EntityKind.PLATFORM);
-                                lavType.setDomain(Domain.inst(PlatformDomain.LAND));
-                                lavType.setCountry(Country.UNITED_STATES_OF_AMERICA_USA);
-                                lavType.setCategory(2);
-                                lavType.setSubCategory(41);
-                                lavType.setSpecific(3);
-                                entityStatePdu.setEntityType(lavType);
-                                
-                                Vector3Double eloc2 = new Vector3Double();
-                                double[] loc2 = CoordinateConversions.getXYZfromLatLonDegrees(36.599831, -121.878842, 0); //sloat delmonte intersection
-                                eloc2.setX(loc2[0]);
-                                eloc2.setY(loc2[1]);
-                                eloc2.setZ(loc2[2]);
-                                entityStatePdu.setEntityLocation(eloc2);
-                                EulerAngles orient2 = new EulerAngles();
-                                orient2.setPhi((float) 0.0);
-                                orient2.setPsi((float) 0.0);
-                                orient2.setTheta((float) 0.0);                                
-                                entityStatePdu.setEntityOrientation(orient2);
-        
-                                EntityStatePdu entityStatePdu2 = pduFactory.makeEntityStatePdu();
-        
-                                
-                                EntityID bmpID = new EntityID();
-                                bmpID.setSiteID(1);
-                                bmpID.setApplicationID(13);
-                                bmpID.setEntityID(2);
-                                entityStatePdu2.setEntityID(bmpID);
-                                EntityType bmpType = new EntityType(); //1.1.222.2.2.1 Platform,Ground,Russia,ArmoredFightingVehicle,BMP2,BMP2
-                                bmpType.setEntityKind(EntityKind.PLATFORM);
-                                bmpType.setDomain(Domain.inst(PlatformDomain.LAND));
-                                bmpType.setCountry(Country.RUSSIA);
-                                bmpType.setCategory(2);
-                                bmpType.setSubCategory(41);
-                                bmpType.setSpecific(3);
-                                entityStatePdu2.setEntityType(bmpType);
-                                Vector3Double eloc1 = new Vector3Double();
-                                double[] loc1 = CoordinateConversions.getXYZfromLatLonDegrees(36.594116, -121.877463, 0); //NPS Main Gate
-                                eloc1.setX(loc1[0]);
-                                eloc1.setY(loc1[1]);
-                                eloc1.setZ(loc1[2]);
-                                
-                                entityStatePdu2.setEntityLocation(eloc1);
-                                EulerAngles orient1 = new EulerAngles();
-                                orient1.setPhi((float) 3.1415);
-                                orient1.setPsi((float) 0.0);
-                                orient1.setTheta((float) 0.0);                                
-                                entityStatePdu2.setEntityOrientation(orient1);
-                                   
-                                int BMPHitsReceived = 0;
-                                
-                                System.out.println(eloc2.toString());
-                                System.out.println(eloc1.toString());
-                                
-                                //FirePdu firePduNull = new FirePdu();
-                                 FirePdu               firePdu = pduFactory.makeFirePdu();
-        EntityID fireID = new EntityID();
-                                fireID.setSiteID(1);
-                                fireID.setApplicationID(13);
-                                fireID.setEntityID(25);
-                                EntityID targetID = new EntityID();
-                                targetID.setSiteID(1);
-                                targetID.setApplicationID(13);
-                                targetID.setEntityID(2);
-                                
-                                firePdu.setFiringEntityID(fireID);
-                                firePdu.setTargetEntityID(targetID);
-                                
-                                EntityType HEType = new EntityType(); //2.9.225.2.2.1
-                                HEType.setEntityKind(EntityKind.MUNITION);
-                                HEType.setDomain(Domain.inst(PlatformDomain.AIR));
-                                HEType.setCountry(Country.UNITED_STATES_OF_AMERICA_USA);
-                                HEType.setCategory(2);
-                                HEType.setSubCategory(2);
-                                HEType.setSpecific(1);
-                                MunitionDescriptor HEIT = new MunitionDescriptor();
-                                HEIT.setMunitionType(HEType);
-                                HEIT.setQuantity(3);
-                                HEIT.setFuse(MunitionDescriptorFuse.CONTACT_GRAZE);
-                                HEIT.setRate(200);
-                                
-                                firePdu.setDescriptor(HEIT);
-                                EntityID HEID = new EntityID();
-                                HEID.setEntityID(1);
-                                firePdu.setMunitionExpendibleID(HEID);
-        
-                                
-                                CommentReliablePdu bmpDestroyedComment = pduFactory.makeCommentReliablePdu("BMP2 DESTROYED BY LAV25-A2 AFTER TWO BURSTS OF 25mm HEI-T ON TARGET");
-                                CommentReliablePdu bmpSightedComment = pduFactory.makeCommentReliablePdu("LAV25-A2 ACQUIRES TARGET BMP2 WITHIN FIRING DISTANCE");
-        //if(eloc1.getX())
-       
-        // should we customize this munition?  what is it for your simulation?
-        
-        while (loopCount < MAX_LOOP_COUNT) // loop the simulation while allowed, can set additional conditions to break
-        {
-            String narrativeMessage1, narrativeMessage2, narrativeMessage3, narrativeMessage4;
-            narrativeMessage4 = "";
-            // initialize loop variables
-            loopCount++;
-            
-            // =============================================================================================
-            // your own simulation code starts here!
-            
-            // compute a track, update an ESPDU, whatever it is that your model is doing...
-            
-            // Where is my entity?
-            entityStatePdu.getEntityLocation().setX(entityStatePdu.getEntityLocation().getX()  - 20); // 1m per timestep
-            entityStatePdu.getEntityLocation().setY(entityStatePdu.getEntityLocation().getY() - 75);
-            // decide whether to fire, and then update the firePdu.  Hmmm, you might want a target to shoort at!
-            Double dx = eloc2.getX() - eloc1.getX();
-            Double dy = eloc2.getY() - eloc1.getY();
-            Double dz = eloc2.getZ() - eloc1.getZ();
-            Double range = Math.sqrt(dx*dx + dy*dy);
-            System.out.println("range" + range + "                dx:" +dx + "        dy:"+ dy);
-            // etc. etc. your code goes here
-                
-            if(range < 100){
-                if (!fireBool)
-                    sendPDU(bmpSightedComment);
-                fireBool = true;
-                System.out.println("Entity#" + firePdu.getFiringEntityID().getEntityID() + " is firing " + firePdu.getDescriptor().getMunitionType().getDomain() + "."+firePdu.getDescriptor().getMunitionType().getCountry()   + "." + firePdu.getDescriptor().getMunitionType().getCategory() + "."+ firePdu.getDescriptor().getMunitionType().getSubCategory() + "." + firePdu.getDescriptor().getMunitionType().getSpecific() + "."+ " at Entity#"+ firePdu.getTargetEntityID().getEntityID());
-            
-
-            if(firePdu.getTargetEntityID().getEntityID() == 2){
-                BMPHitsReceived += 1;
-                if (BMPHitsReceived > 1) {
-                    //DESTROY THE BMP!
-                    
-                    System.out.println("BMP Destroyed after "+ BMPHitsReceived + " hits from 25mm HEI-T");
-                    narrativeMessage4 = "Destroyed BMP2";
-                    destBool = true;
-                    
-                }
-            }
-            }
-            
-            // make your reports: narrative code for CommentPdu here (set all to empty strings to avoid sending)
-            narrativeMessage1 = "MV3500 ExampleSimulationProgram";
-            narrativeMessage2 = "runSimulation() loop " + loopCount;
-            narrativeMessage3 = "LAV-25A2"; // intentionally blank for testing
-            if (narrativeMessage4.isEmpty()){
-            narrativeMessage4 = "BMP2";
-            }
-            // your loop termination condition goes here
-            if (loopCount > 4) // for example
-            {
-                simulationComplete = true;
-            }      
-            // your own simulation code is finished here!
-            // =============================================================================================
-            
-            // keep track of timestep: wait duration for elapsed time in this loop
-            // Thread.sleep needs a (long) parameter for milliseconds, which are clumsy to use sometimes
-            Thread.sleep((long)(LOOP_DURATION_SECONDS * 1000)); // seconds * (1000 msec/sec) = milliseconds
-            System.out.println ("... Pausing for " + LOOP_DURATION_SECONDS + " seconds");
-            
-            // send the status PDUs for this loop and continue
-            System.out.println ("sending PDUs for simulation step " + loopCount + ", monitor loopback to confirm sent");
-            //sendAllPdus(entityStatePdu, firePduNull, null, narrativeMessage1, narrativeMessage2, narrativeMessage3);
-            //sendAllPdus(entityStatePdu2, null, null, narrativeMessage1, narrativeMessage2, narrativeMessage4);
-            sendPDU(entityStatePdu);
-            sendPDU(entityStatePdu2);
-            if (fireBool)
-                sendPDU(firePdu);
-            if (destBool)
-                sendPDU(bmpDestroyedComment);
-            
-            System.out.println ("... PDUs successfully sent");
-            
-            // ===============================
-            // loop now finished, thus terminate if simulation complete, otherwise send latest PDUs and continue
-            if (simulationComplete || (loopCount > 10000)) // for example; including fail-safe condition is good
-            {
-                CommentReliablePdu completionPdu = pduFactory.makeCommentReliablePdu("White Simulation Completed");
-                sendPDU(completionPdu);
-                System.out.println ("... Termination condition met, simulationComplete=" + simulationComplete);
-                break;
-            }
-        }   // end of while loop
-      } 
-      catch (Exception ex) // handle any exception that your code might choose to provoke!
-      {
-        Logger.getLogger(WhiteSimulation.class.getName()).log(Level.SEVERE, null, ex);
-      }
-    }
-    
-        public void sendPDU(Pdu pdu) {
-        System.out.println("Sending a PDU");
-        MulticastSocket socket = null; // must be initialized, even if null
-        InetAddress destinationIp = null; // must be initialized, even if null
-
-        try {
-            destinationIp = InetAddress.getByName(networkAddress);
-        } catch (UnknownHostException e) {
-            System.out.println(e + " Cannot create address");
-            System.exit(0);
-        }
-        try {
-            // Set up a socket to send information
-            socket = new MulticastSocket(2317);
-        } catch (IOException ex) {
-            Logger.getLogger(WhiteSimulation.class.getName()).log(Level.SEVERE, null, ex);
-        }
-
-        Set<InetAddress> broadcastAddresses;
-        // Loop through sending one ESPDUs
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        DataOutputStream dos = new DataOutputStream(baos);
-        try {
-            pdu.marshal(dos);
-            byte[] data = baos.toByteArray();
-
-            DatagramPacket packet = new DatagramPacket(data, data.length, destinationIp, 2317);
-            socket.send(packet);
-            socket.close();
-        } catch (Exception ex) {
-            Logger.getLogger(WhiteSimulation.class.getName()).log(Level.SEVERE, null, ex);
-        }
-}
-}
\ No newline at end of file