add null input check