implement sniffing