Updated source - need to fix the label bugs and figure out WTF to do with the text box.