change syntax to transitions again and manage flow by recomputing from data