mostly done!

things need to be cleaned up a bit more, but i want to get this
versioned