modified to assoc-set