redesigned the bind/unbind methods of Flow