updated control calculation