public void setup() 
	{
		// set the size of our graphics canvas
		size(1000, 350);
		
		// smooth all graphics
		smooth();
		
		// create a new instance of our Player class
		this.thePlayer = new Player(this.width/2, this.height-25, this);
		
		// create a new instance of our Missile class
		// (the player only gets one missile - if they shoot more than one then we
		// simply take the one in flight and bring it back down so that it can fire again)
		this.missile = new Missile(0,0,this); //this used to be -50
		
		// create some new aliens
		this.theAliens = new Alien[2][2];
	     
		// load in our font so that we can draw text to the screen
		PFont genericFont = loadFont("sansSerifFont24.vlw");
		
		// set the default font as the one we just loaded
		this.textFont( genericFont );
		
		//spawn points (prevent overlapping aliens when first spawning)
		int xPos = 0;
	    int yPos = 0;
		
	    Random randInt = new Random();
	    //create a 2x2 grid of aliens with random types and speeds
	    for(int row= 0; row < theAliens.length; row++)
		{
			yPos +=25;
			xPos = 0;
			
			for( int column = 0; column < theAliens[row].length; column++)
			{
				xPos += 25;
				int randSpeed = ( randInt.nextInt(4)+1)* -1;
				int randAlienType = randInt.nextInt(4);
				
				if(randAlienType == 1)
				{
					this.theAliens[row][column] = new RedAlien(xPos, yPos, randSpeed, this);
					NUMALIENS+=1;
				}
				else if(randAlienType == 2)
				{
					this.theAliens[row][column] = new BlueAlien(xPos, yPos, randSpeed, this);
					NUMALIENS+=1;
				}
				else if(randAlienType == 3)
				{
					this.theAliens[row][column] = new YellowAlien(xPos, yPos, randSpeed, this);
					NUMALIENS+=1;
				}
				else 
				{
					this.theAliens[row][column] = new BigAlien(xPos, yPos, randSpeed, this);
					NUMALIENS+=1;
				}
				
			}
		}
	}