updated control dispatcher