updated information flow