pretty much doneeeeeee