had a hiccup with keep_if v. take_while