implementing flow