opt: use pipe instead of equal