fix skip argument
add skipWhile