refactoring / code revue