implemented shield