public void moveDown()
	{
		Grid2d Temp;						//TEMPORARY SHAPE that contains new position
		Temp = new Grid2d(ARRAY_ROWS,ARRAY_COLS);

		if (moveable == true)
		{
			for ( int r=0; r<this.maxRow(); r++)
			{
				for (int c=0; c < this.maxCol(); c++)
				{
					boolean value = this.getElement(r,c);
					if ( value == true)				// If shape is there
					{
						if (r+1 < maxRow())
						{
							Temp.setElement(r+1,c,value);				// Move shape down one
						}
						else
						{
							moveable = false;
							break;
						}
					}
				}
			}
		}

		// If moveable is true at this point, shape can move furthur down
		// Copy new position of shape stored in Temp into the actual shape object

		if(moveable == true)
		{
			for ( int r=0; r<maxRow(); r++)
			{
				for ( int c = 0; c<maxCol(); c++)
				{
					boolean value = Temp.getElement(r,c);
					this.setElement(r,c,value);
				}
			}
		}
		row_pos++;		// Move Shape down by 1 for rotations
	}