all functions that take a $target accounted for (i think)