add target null checking