refactoring AttributeList and printer module