public static Mesh load(File file) throws IOException, FileNotFoundException {
		
		BufferedReader reader = new BufferedReader(new FileReader(file));
		MeshBuilder m = new MeshBuilder();
		
		String line;
		int type = -1;

		m.startMesh();
		while((line = reader.readLine()) != null) {
			//remove additional whitespaces that would conflict reading the line
			line = line.trim().replaceAll(" +", " ");
			
			//parse line
			if(line.startsWith("v ")) {
				float x = Float.valueOf(line.split(" ")[1]);
				float y = Float.valueOf(line.split(" ")[2]);
				float z = Float.valueOf(line.split(" ")[3]);

				m.addVertex(new Vector3f(x,y,z));
			} else if (line.startsWith("vn ")) {
				float x = Float.valueOf(line.split(" ")[1]);
				float y = Float.valueOf(line.split(" ")[2]);
				float z = Float.valueOf(line.split(" ")[3]);

				m.addNormal(new Vector3f(x,y,z));
			} else if (line.startsWith("vt ")) {	
				float x = Float.valueOf(line.split(" ")[1]);
				float y = Float.valueOf(line.split(" ")[2]);
				
				m.addTexCoord(new Vector2f(x,y));
			} else if (line.startsWith("f ")) {
				String[] s = line.split(" ");

				if (type >= Mesh.TRIAGLES) {
					addFace(s, m);
				} else {
					type = checkForType(s);
					m.type(type);
					continue;
				}
			}
		}
		
		reader.close();
		return m.finishMesh();
	}