refactored vehicle classes