better skip and skipWhile