Refactoring on Register