implements abstract RollingStock class