added whitelist and blacklist