trying without inheritance
broke out beta tests into separate class
cleaned up versioning support