refactoring ver