add null checking