move createAndAttackShader to local scope of Initialize()