control logic