flow for join