adding is_smartphone detection (virtualCapability)