refactoring register access