Wouldn't the target be optional in all of these functions?