refactored version feature