proper flow