they are used twice...once to call `setAttrs` and once for `addTarget`