pass thr0 by value