//Process a recieved order
        public void setOrder(String[] orderString)
        {
            // get encoder - did we want to use a singleton here?
            Decoder    d = new Decoder();
            OrderClass order;
            Thread[] thread = new Thread[orderString.Length];

            // decode all orders
            for (int i = 0; i < orderString.Length; ++i)
            {

            // set the order an decrypt
            d.setOrder(orderString[i]);

            // get the decrypeted order
            order = d.getOrder();

            // need to call OrderProcessing
            thread[i] = new Thread(new ParameterizedThreadStart(Worker));
            thread[i].Start(order);

            //Increment order counter
            counter++;

            }
        }