almost entirely working, less a couple features. css still unfinished.