add null safe check