fix evaluation currying, blacklist, whitelist, add tests