refactor valve->floodGate