should check for nsnull