added the concept of gmvehicle