protected Map showBasicInfo(final RpcConnection rpcConn, final String fullName){
		Map info = (Map) rpcConn.execute("module.info", moduleType, fullName);
		//Basic info
		setTitle(info.get("name") + " " + fullName);
		try{
		titleLabel.setText("<html><h2>"+info.get("name")+ "</h2> <b>Rank:</b> "+Rank.toString(info.get("rank"))+"</html>");
		}
		catch(Exception ex){
			System.out.println(info);
		}
		Object references = info.get("references");
		StringBuilder referenceString = new StringBuilder();
		if(references != null){
			List refList = (List)references;
			if(refList.size() > 0)
				referenceString.append("<br>References:<br>");
			for(Object refo : refList){
				List ref = (List)refo;
				referenceString.append(ref.get(0)).append(": ").append(ref.get(1)).append("<br> ");
			}
			referenceString.append("<br>");
		}
		//Attempt to call setText on descriptionBox. This convolutedness is necessary since JLabels and 
		//JEditorPanes do not have a common ancestor that we can call setText on.
		try{
			descriptionBox = (JComponent)getClass().getField("descriptionBox").get(this);
			descriptionBox.getClass().getMethod("setText", String.class).invoke(descriptionBox, 
				"<html><b>Description</b> "+info.get("description").toString().replaceAll("\\s+", " ")+referenceString+"</html>");
		}catch(Exception ex){
			javax.swing.JOptionPane.showMessageDialog(this, ex);
		}
		if(info.get("license") instanceof String){
			licenseLabel.setText("<html><b>License:</b> "+ info.get("license")+"</html>");
		}else{
			List license = (List) info.get("license");
			StringBuilder licenseString = new StringBuilder();
			for(Object lic : license)
				licenseString.append(lic).append(" ");
			licenseLabel.setText("<html><b>License:</b> "+ licenseString+"</html>");
		}
		versionLabel.setText("<html><b>Version:</b> "+ info.get("version")+"</html>");
		//Authors
		List authors = (List) info.get("authors");
		StringBuilder authorLine = new StringBuilder();
		if (authors.size() > 0)
			authorLine.append(authors.get(0).toString());
		for (int i = 1; i < authors.size(); i++)
			authorLine.append(", ").append(authors.get(i));
		authorsLabel.setText("<html><b>Authors:</b> "+ authorLine.toString()+"</html>");
		updateSizes(this);
		return info;
	}