block function all pass