add a better blacklist function