add takeAll and skipAll