vehicle constructor