refactored version analyzer