added NonNull check