We can probably refactor some of the DOM traversing in here, and in general I think we should stick the using javascript-esque variable names like lastLi, myVar, etc. instead of last_li, my_var, but otherwise this looks pretty solid. Well f-in done bro.