improved q-clause-rule