Added versioning prototype, all unit tests passing