whitelist implemented #5
blacklist implemented #5