added set_attribute