refactored vehicle classes to simplify their implementations