Asp :: end? where?

OK. this is the error i get on the asp script following the error.

error.

[font=Arial] [/font]


Microsoft VBScript compilation [font=Arial][size=2]error '800a03f6'[/size][/font][font=Times New Roman][size=3] [/size][/font]

[font=Arial][size=2]Expected 'End'[/size][/font] [font=Arial][size=2]/home.asp[/size][/font][font=Arial][size=2], line 88[/size][/font] 


code…

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DSN=main"
set RS = Server.CreateObject("ADODB.Recordset")
RS.Open "SELECT TOP 3 * FROM updates ORDER BY item_when DESC", Conn
If Not(RS.EOF) then 
RS.MoveFirst()
While NOT  RS.eof 
 id = RS.Fields.Item("id")
 when = RS.Fields.Item("item_when")
 title = RS.Fields.Item("item_title")
 body = RS.Fields.Item("item_body")
 user = RS.Fields.Item("item_user")
 comments = RS.Fields.Item("item_comments")
response.write "<div class=""asset""><strong><span class=""newstitle"">"& title & "</span></strong><br><br><strong>"& when & "- by </strong>"& user &"<br><br>"& body &" <br><br>Comments(" & comments & ")</div>"
RS.movenext()
wend
end if
RS.close
set RS = nothing
Conn.close
set Conn = nothing
%>

i dont know whats happening. i just set up a dsn, so i tried it, and i get an error saying i need an end in there. i really dont get it.

anyone willing to help?

thanks for any help,
-Naaman