renaming, utilize event-based flow