refactored AttributeHolder