refactoring lu