refactoring and aliasing