Microsoft teams up with Cruise and GM on self-driving cars