private void loadBody(String[] column) {
		Body newBody = new Body();
		newBody.type = column[15];
		if (newBody.type.equals("Star")){
			newBody = new Star();
		} else if (newBody.type.equals("Planet") || newBody.type.equals("Dwarf Planet")) {
			newBody = new Planet();
		} else if (newBody.type.equals("Moon")) {
			newBody = new Moon();
		} else if (newBody.type.equals("Asteroid")) {
			newBody = new Asteroid();
		}
		newBody.id = Integer.parseInt(column[0]);
		newBody.name = column[1];
		newBody.mass = Double.parseDouble(column[3]);
		newBody.systemMass = Double.parseDouble(column[7]);
		newBody.radius = Double.parseDouble(column[4]);
		newBody.setSize(newBody.radius);
		if (Integer.parseInt(column[2]) != -1) {
			newBody.parent = bodies
					.get(Integer.parseInt(column[2]));
			double i = Double.parseDouble(column[10]);
			/*if (Integer.parseInt(column[15]) == 1){
				i += newBody.parent.obliquity;
			}*/
			Vector3D[] state = Astrophysics.toRV(
					Double.parseDouble(column[8]),
					Double.parseDouble(column[9]),
					i,
					Double.parseDouble(column[11]),
					Double.parseDouble(column[12]),
					Double.parseDouble(column[13]),
					newBody.parent,
					true);
			newBody.position = state[0]
					.add(newBody.parent.position);
			newBody.velocity = state[1]
					.add(newBody.parent.velocity);
		}
		newBody.setSemiMajorAxis(Double.parseDouble(column[8]));
		newBody.initTrail(); // Must initialize the trail after
								// finding the position so the trail
								// won't originate from the sun
		bodies.add(newBody);
	}