tut tweaks
changed 'constrain' to 'whitelist'
changed 'initlist' behavior
added 'blacklist'