add initializer for versioning
remove duped and broken code
Add versioning to new design