implement whitelist
add tests for whitelist
implement blacklist
add tests for blacklist
update readme