public void read(BufferedReader buff)
	{
		try 
		{
			while(buff.ready())
			{
				line = buff.readLine();
				piecePlace = pattern[0].matcher(line);
				pieceMove = pattern[2].matcher(line);
				castle = pattern[1].matcher(line);
				
				if(piecePlace.find())
				{
					String chessPiece = piecePlace.group("ChessPiece");
					String chessColor = piecePlace.group("ChessColor");
					String chessLetter = piecePlace.group("Column");
					String chessNum = piecePlace.group("Row");
					
					if(chessColor.equals("d"))
					{
						chessPiece = chessPiece.toLowerCase();
					}
					placePiece(numberTranslation(chessNum),letterTranslation(chessLetter), chessPiece);
					System.out.println("Chess piece "+ chessPiece +" has been placed");
				}
				else if(castle.find())
				{
					String kingSpaceLetter1 = castle.group("KingOriginColumn");
					String kingSpaceNum1 = castle.group("KingOriginRow");
					String kingSpaceLetter2 = castle.group("KingNewColumn");
					String kingSpaceNum2 = castle.group("KingNewRow");
					String rookSpaceLetter1 = castle.group("RookOriginColumn");
					String rookSpaceNum1 = castle.group("RookOriginRow");
					String rookSpaceLetter2 = castle.group("RookNewColumn");
					String rookSpaceNum2 = castle.group("RookNewRow");
					
					
					moveTwoPieces(letterTranslation(kingSpaceLetter1), numberTranslation(kingSpaceNum1), letterTranslation(kingSpaceLetter2), numberTranslation(kingSpaceNum2), 
							letterTranslation(rookSpaceLetter1), numberTranslation(rookSpaceNum1), letterTranslation(rookSpaceLetter2), numberTranslation(rookSpaceNum2));		
					System.out.println("Castling has occured");
				}
				else if(pieceMove.find())
				{
					String firstSpaceLetter = pieceMove.group("OriginColumn");
					String firstSpaceNum = pieceMove.group("OriginRow");
					String secondSpaceLetter = pieceMove.group("NewColumn");
					String secondSpaceNum = pieceMove.group("NewRow");
 					
					
					moveChessPiece(letterTranslation(firstSpaceLetter), numberTranslation(firstSpaceNum), letterTranslation(secondSpaceLetter), numberTranslation(secondSpaceNum));
					System.out.println("Piece "+ b.checkBoard(numberTranslation(secondSpaceNum),letterTranslation(secondSpaceLetter)) +" has been moved");
				}
				else
				{
					System.err.println(line + " is not a valid input");
				}
			}
		} 
		catch (IOException e) 
		{
			System.err.println("IO exception");
		}
	}