public void PassengersOnBoarding(BusStop busStop,OutputFile screen)
    {
        //set the current bus stop
        currentBusStop = busStop;
        //set the average persons for the bus stop
busStop.SetAverageNumberOfPersons();
        //set the average person wait time
        busStop.SetAveragePersonsWaitTime(this);  //check
        
        //person getting on the bus
        Person got;
        while((busStop.Count() > 0) && (Increment()))
        {
            got = busStop.GetPerson();
            //set time person got on the bus                
            got.SetOnBusTicks(this.firstTicks); 
            //set person wait time
            got.SetWaitTime(this.GetFirstTicks()-got.GetFirstTicks());
            passengers.add(got);
//set empty flag to false
this.SetEmpty(false);
            
screen.WriteToFile("Time:,"+GetFirstTicks()+", --> ON"+", GetOn: "+ (got.GetStartBusStop()+1)+", Bus #"+GetBusNumber()+", person #"+(got.GetPersonNumber()+1)+", GetOff: "+ (got.GetStopBusStop()+1)+", Priority: "+got.GetPriority()+", PASSENGERS: "+ passengers.size());            
if(verbose)
    System.out.println("Time:,"+GetFirstTicks()+", --> ON"+", GetOn: "+ (got.GetStartBusStop()+1)+", Bus #"+GetBusNumber()+", person #"+(got.GetPersonNumber()+1)+", GetOff: "+ (got.GetStopBusStop()+1)+", Priority: "+got.GetPriority()+", PASSENGERS: "+ passengers.size());
        }
        //get iterator for the BusStop
        Iterator iter = busStop.GetIterator();
        //update person left at stop
        while(iter.hasNext())
        {
            ((Person)iter.next()).IncrementLeftByBus();
        }
        
        //indicate how much left at the stop
        SetTotalLeftAtBusStop(busStop.Count());
        //set minimum capacity
        this.SetMinimumPassenger(this.GetPassengerQuantity());
        //set maximum capacity
        this.SetMaximumPassenger(this.GetPassengerQuantity());
    }