public boolean canMoveDown(){
		int emptyRowsFromBottom=0, j, i;
		
		// check for field boundaries
		for(j=(t.getySize()-1);j>0;j--){
			if(!t.rowIsEmpty(j)){
				break;
			}
			emptyRowsFromBottom++;
		}
		
		if((t.getPosY()+t.getySize()-emptyRowsFromBottom)>(p.getySize()-1)){
			return false;
		}
		
		// check for other blocks in playfield
		for(j=0;j<t.getySize();j++){
			for(i=0;i<t.getxSize();i++){
				if(!t.isEmpty(i, j) &&  !p.isEmpty(t.getPosX()+i,t.getPosY()+j+1) && p.isInBounds(t.getPosX()+i,t.getPosY()+j+1)){
					return false;
				}
			}
		}
		

		return true;
	}