*/
	ListCellRenderer<? super Word> makeVerseDrawer()
	{
		/**
		 *  note that we can't actually input anything into the textpane
		 *  after it is rendered.
		 */
		return new ListCellRenderer<Word>()
		{
			public Component getListCellRendererComponent(
				final JList<? extends Word> list, final Word value,
				final int index, final boolean isSelected,
				final boolean cellHasFocus)
			{
				//draw word text
				String txt = "<p style=\"text-align:center\">" + value.translation;
				txt = txt.replaceAll("<RF>[^<]*<Rf>", "<strong>*</strong>");
				txt = txt.replaceAll("<FI>([^<]*)<Fi>", "<em>$1</em>");
				txt = txt.replaceAll("<TS1>[^<]*<Ts1>", "<strong>TITLE</strong>");

				//write greek
				if (program.programdata.showgreek)
					txt += "<br/>" + value.greek;

				//write strongs
				if (program.programdata.showstrongs)
					txt += "<br/>" + value.strongs;

				//write morphology
				if (program.programdata.showmorph)
					txt += "<br/>" + value.morph;

				txt += "</p>";

				JTextPane textpane = new JTextPane();
				textpane.setDocument(new BatchDocument());
				textpane.setEditorKit(program.displaypane.htmlkit);

				//set selection color.
				textpane.setForeground(isSelected ? list.getSelectionForeground()
					: list.getForeground());
				textpane.setBackground(isSelected ? list.getSelectionBackground()
					: list.getBackground());

				//add the html text to pane
				textpane.setContentType("text/html");
				textpane.setText(txt);
				textpane.setFont(getFont());

				//add a label indicating verse number
				if (index == 0)
				{
					JLabel versenumlabel =
						new JLabel(Integer
							.toString(((Verse) getModel()).verseidx + 1));
					textpane.add(versenumlabel);
					versenumlabel.setBounds(0, 0, 30, 30);
				}
				return textpane;
			}
		};
	}