adds null handling