updated flow