edward shaffer