how does bmw i8 work