shield logic