null handling implemented