public ArrayList<Meld> getRuns() throws Exception{
		ArrayList<Hand> colouredSets;
		ArrayList<Meld> runs;
		ArrayList<Tile> possibleRun;
		
		runs = new ArrayList<Meld>();
		colouredSets = separateByColour();
		
		for(Hand hand : colouredSets){
			hand.removeRedundancies();
			hand.sortByNumber();
			
			for(int j=0; j<hand.getNumTiles(); j++){
				possibleRun = new ArrayList<Tile>();
				possibleRun.add(hand.getTile(j));
				
				for(int k=j+1; k<hand.getNumTiles(); k++){
					if(hand.getTile(k-1).number == hand.getTile(k).number -1)
						possibleRun.add(hand.getTile(k));
					else 
						break;
					
					if(possibleRun.size() > 2)
						runs.add(new Meld(possibleRun, true));
				}
			}
		}
		
		return runs;
	}