fixed the case where an exteranl module passes source code into sniffer
added API notes