Have most everything working, just a few TODOs