Improving evolvability through refactoring