avoid gather/take