added str_take_while