added some security to shift controllers