public static ArrayList<ArrayList<String>> readRecords(String FILE_PATH){
		BufferedReader reader = null;
		ArrayList<ArrayList<String>> records = new ArrayList<ArrayList<String>>();

        try { 
           File f = new File(FILE_PATH);
           FileInputStream fis = new FileInputStream(f); 
           reader = new BufferedReader(new InputStreamReader(fis));
           
           String line;
           String currLable;
           String currFeature;
           ArrayList<String> r = null;
           
           //Read first record from the files as Name of lables 
           line = reader.readLine();
           StringTokenizer st = new StringTokenizer(line, ",");
           numberOfFeatures = st.countTokens();
           for(int i = 0; i<numberOfFeatures; i++){
        	   currLable = st.nextToken();
        	   if(labels.size()<numberOfFeatures)
        		   labels.add(currLable);
           }
           
           //Read all records
           while ((line = reader.readLine()) != null) {
               st = new StringTokenizer(line, ",");
               r = new ArrayList<String>();
               for(int i = 0; i<numberOfFeatures; i++){
            	   currFeature = st.nextToken();
            	   //Find all categorical features
            	   if(Integer.parseInt(currFeature)>1 && !catFeatures.contains(i))
            		   catFeatures.add(i);
            	   r.add(currFeature);
               }
               records.add(r);
           }
           reader.close();
        }
        catch(Exception e){
        	e.printStackTrace();
        }
		return records;  
    }