refactoring: made both versiondao's derive from base class