everything working pretty much, albeit ugly