hasProperties added deep arg