Move control checking to higher abstraction level and simplify code