set all attributes in one pass