Adiabatically implementing quantum gates