refactoring common attributes