implement attribute assignment