update for versioning and io stuff