			// add in first and last letter class to words over 2 letters
			// first-word
			// first-letter
			// first-paragraph
		
			;(function($) {
				$.fn.extend({
					letterise: function(){
						var words = $(this).text().split(' ');
						var thehtml = [];
						var w = {};
						var l = {};
						function firstlast(i,len){
							return ((i == 0)? 'first ': ((i+1 == len)? 'last ':'' ));
						}
						for (n=0; n < words.length; n++) {
							var lcword = words[n].toLowerCase().replace(/\W/g,'');
							eval('if ( w.w'+lcword+' > 0 ) { w.w'+lcword+'++; } else { w.w'+lcword+' = 1; }');
							thehtml[n] = '<span class="'+ firstlast(n,words.length) +'word w-'+ lcword +' n'+ eval('w.w'+lcword) +'">';
							var letters = words[n].split('');
							for (i=0; i < letters.length; i++) {
								if ( letters[i].match(/\d/) ) {
									var lcletter = letters[i].toLowerCase();
									eval('if ( l.l'+lcletter+' > 0 ) { l.l'+lcletter+'++; } else { l.l'+lcletter+' = 1; }');
									thehtml[n] += '<span class="'+ firstlast(i,letters.length) +'number l-'+ lcletter +' n'+ eval('l.l'+lcletter) +'">' + letters[i] + '</span>';
								} else if ( letters[i].match(/\w/) ) {
									var lcletter = letters[i].toLowerCase();
									eval('if ( l.l'+lcletter+' > 0 ) { l.l'+lcletter+'++; } else { l.l'+lcletter+' = 1; }');
									thehtml[n] += '<span class="'+ firstlast(i,letters.length) +'letter l-'+ lcletter +' n'+ eval('l.l'+lcletter) +'">' + letters[i] + '</span>';
								} else {
									thehtml[n] += '<span class="'+ firstlast(i,letters.length) +'letter special">' + letters[i] + '</span>';
								}
							}
							thehtml[n] += '</span>';
						}
						thehtml = thehtml.join(" ");
						$(this).html(thehtml);
					},
					gt3: function(){
						var im = 0;
						$(this).each(function(){
							if ( $(this).is("p") ) {
								$("a",this).each(function(){
									var href = $(this).attr("href").replace(/\./g,"__dot__");
									$(this).attr("href",href);
								});
								// now how to preserve html with first-word and first-letter...
								var sentences = $(this).html().split(".");
								var words = sentences.shift().split(' ');
								var letters = words.shift().split('');
								var html = '<span class="first-sentence"><span class="first-word"><span class="first-letter">'+ letters.shift() + '</span>'+ letters.join('') +'</span> ' + words.join(' ') +'.</span>'+ sentences.join(".");
								html = html.replace(/__dot__/g,".");
								$(this).html(html);
							} else {
								$(this).letterise();
							}
							im++;
						});
					}
				});
			})(jQuery);