Change setup_with_flow logic and fix if_match with block