diff --git a/demo/F16/F16_waypoint_scene.py b/demo/F16/F16_waypoint_scene.py
index 8f557248fd28fe795b5038e35b9c42f4e4684ee1..d41c75561db066d63fe16dd33aede8779911a76c 100644
--- a/demo/F16/F16_waypoint_scene.py
+++ b/demo/F16/F16_waypoint_scene.py
@@ -11,8 +11,8 @@ from scipy.integrate import ode
 from enum import Enum, auto
 
 from demo.F16.aerobench.run_f16_sim import F16Agent
-from dryvr_plus_plus import LaneMap
-from dryvr_plus_plus import Scenario
+from verse import LaneMap
+from verse import Scenario
 
 
 import copy
diff --git a/demo/F16/aerobench/run_f16_sim.py b/demo/F16/aerobench/run_f16_sim.py
index 59f5633b9a9a4856b2566584ae264b020c758ad3..34137b6912d3e0425583752826de5347fb6906f4 100644
--- a/demo/F16/aerobench/run_f16_sim.py
+++ b/demo/F16/aerobench/run_f16_sim.py
@@ -11,7 +11,7 @@ from scipy.integrate import RK45
 from aerobench.highlevel.controlled_f16 import controlled_f16
 from aerobench.util import get_state_names, Euler
 
-from dryvr_plus_plus import BaseAgent
+from verse import BaseAgent
 
 
 class F16Agent(BaseAgent):
diff --git a/demo/ball/ball_bounces.py b/demo/ball/ball_bounces.py
index 8d5c6caf621ae1c56cd259d43ef907228b92b2da..691583b396da84aa7b3eda315360f8a44b0bd43c 100644
--- a/demo/ball/ball_bounces.py
+++ b/demo/ball/ball_bounces.py
@@ -1,11 +1,11 @@
-from dryvr_plus_plus.plotter.plotter2D import *
-from dryvr_plus_plus.example import SimpleMap3, BallAgent
-from dryvr_plus_plus import Scenario
+from verse.plotter.plotter2D import *
+from verse.example import SimpleMap3, BallAgent
+from verse import Scenario
 from enum import Enum, auto
 import copy
 
 
-# from dryvr_plus_plus.map import Lane
+# from verse.map import Lane
 
 
 class BallMode(Enum):
diff --git a/demo/ball_bounces_dev.py b/demo/ball_bounces_dev.py
index e8f5ea255dd0a209f14c04875b0dbbd466327954..580c0319752675fc900a4b2f527a6053e14682cf 100644
--- a/demo/ball_bounces_dev.py
+++ b/demo/ball_bounces_dev.py
@@ -41,9 +41,9 @@ def controller(ego:State, other: State):
     assert not (close(ego, other) and ego.x < other.x), "collision"
     return output
 
-from dryvr_plus_plus.example import BallAgent
-from dryvr_plus_plus import Scenario
-from dryvr_plus_plus.plotter.plotter2D import *
+from verse.example import BallAgent
+from verse import Scenario
+from verse.plotter.plotter2D import *
 import plotly.graph_objects as go
 
 if __name__ == "__main__":
diff --git a/demo/dryvr_demo/origin_agent.py b/demo/dryvr_demo/origin_agent.py
index 1cb95bdae7249643afb98732ffde97a6d248a41d..e3a595844cadbfc1673c4ff1327d419a68873570 100644
--- a/demo/dryvr_demo/origin_agent.py
+++ b/demo/dryvr_demo/origin_agent.py
@@ -4,8 +4,8 @@ from typing import Tuple, List
 import numpy as np
 from scipy.integrate import ode
 
-from dryvr_plus_plus.agents import BaseAgent
-from dryvr_plus_plus.map import LaneMap
+from verse.agents import BaseAgent
+from verse.map import LaneMap
 
 
 class vanderpol_agent(BaseAgent):
diff --git a/demo/dryvr_demo/rendezvous_demo.py b/demo/dryvr_demo/rendezvous_demo.py
index 91919476bdbe199d3102e42c86f2cac2c7d36a00..3c281bfedbfc02c5d929a8361ba6bde49b032d5c 100644
--- a/demo/dryvr_demo/rendezvous_demo.py
+++ b/demo/dryvr_demo/rendezvous_demo.py
@@ -1,6 +1,6 @@
 from origin_agent import craft_agent
-from dryvr_plus_plus import Scenario
-from dryvr_plus_plus.plotter.plotter2D import *
+from verse import Scenario
+from verse.plotter.plotter2D import *
 
 import plotly.graph_objects as go
 from enum import Enum, auto
diff --git a/demo/dryvr_demo/thermo_demo.py b/demo/dryvr_demo/thermo_demo.py
index 414d52b78dfa8261512f02cf90e0929b9043978e..e5ce9cbb7a795af4e6fb8d33377a968afb94c067 100644
--- a/demo/dryvr_demo/thermo_demo.py
+++ b/demo/dryvr_demo/thermo_demo.py
@@ -1,6 +1,6 @@
 from origin_agent import thermo_agent
-from dryvr_plus_plus import Scenario
-from dryvr_plus_plus.plotter.plotter2D import *
+from verse import Scenario
+from verse.plotter.plotter2D import *
 
 import plotly.graph_objects as go
 from enum import Enum, auto
diff --git a/demo/dryvr_demo/thermo_demo2.py b/demo/dryvr_demo/thermo_demo2.py
index 0173b2b23376e16f4a4886a4c1d9c0e4d0d2ef82..08882868afd5efd7d9fad0eefa5bfa759bc8dea2 100644
--- a/demo/dryvr_demo/thermo_demo2.py
+++ b/demo/dryvr_demo/thermo_demo2.py
@@ -1,6 +1,6 @@
 from origin_agent import thermo_agent
-from dryvr_plus_plus import Scenario
-from dryvr_plus_plus.plotter.plotter2D import *
+from verse import Scenario
+from verse.plotter.plotter2D import *
 
 import plotly.graph_objects as go
 from enum import Enum, auto
diff --git a/demo/dryvr_demo/vanderpol_demo.py b/demo/dryvr_demo/vanderpol_demo.py
index e7d855df3bfbee50c43f44fd2e2c230aff5accd5..947a138196ea82b69385aa69407a1b8fd49dd6f1 100644
--- a/demo/dryvr_demo/vanderpol_demo.py
+++ b/demo/dryvr_demo/vanderpol_demo.py
@@ -1,6 +1,6 @@
 from origin_agent import vanderpol_agent
-from dryvr_plus_plus import Scenario
-from dryvr_plus_plus.plotter.plotter2D import *
+from verse import Scenario
+from verse.plotter.plotter2D import *
 
 import plotly.graph_objects as go
 from enum import Enum, auto
diff --git a/demo/dryvr_demo/vanderpol_demo2.py b/demo/dryvr_demo/vanderpol_demo2.py
index c19cb91f2f737333bf2c072b54c07ea78dcc3314..b8e20da8cc7bf545d6127ec3aeb6ebb1885bea53 100644
--- a/demo/dryvr_demo/vanderpol_demo2.py
+++ b/demo/dryvr_demo/vanderpol_demo2.py
@@ -1,6 +1,6 @@
 from origin_agent import vanderpol_agent
-from dryvr_plus_plus import Scenario
-from dryvr_plus_plus.plotter.plotter2D import *
+from verse import Scenario
+from verse.plotter.plotter2D import *
 
 import plotly.graph_objects as go
 from enum import Enum, auto
diff --git a/demo/quadrotor/quadrotor_agent.py b/demo/quadrotor/quadrotor_agent.py
index cc5314f10ab5d02ad9e5df597a72270421fed624..280348ecbf563cf75d1eba572e02050e43f61dd4 100644
--- a/demo/quadrotor/quadrotor_agent.py
+++ b/demo/quadrotor/quadrotor_agent.py
@@ -6,8 +6,8 @@ import numpy as np
 from scipy.integrate import ode
 import torch
 import math
-from dryvr_plus_plus.agents import BaseAgent
-from dryvr_plus_plus.map import LaneMap
+from verse.agents import BaseAgent
+from verse.map import LaneMap
 
 class FFNNC(torch.nn.Module):
     def __init__(self, D_in=6, D_out=8):
diff --git a/demo/quadrotor/quadrotor_demo.py b/demo/quadrotor/quadrotor_demo.py
index 3af2febd6e3f5c92c0e9978c33627c5b4b72f895..46ce7a16857bf76624b501c6a13e9384bb2fdce2 100644
--- a/demo/quadrotor/quadrotor_demo.py
+++ b/demo/quadrotor/quadrotor_demo.py
@@ -1,7 +1,7 @@
 from quadrotor_agent import QuadrotorAgent
-from dryvr_plus_plus import Scenario
-from dryvr_plus_plus.example import SimpleMap2, SimpleMap3, SimpleMap5, SimpleMap6
-from dryvr_plus_plus.plotter.plotter2D import *
+from verse import Scenario
+from verse.example import SimpleMap2, SimpleMap3, SimpleMap5, SimpleMap6
+from verse.plotter.plotter2D import *
 import os
 import json
 import plotly.graph_objects as go
diff --git a/demo/vehicle/controller/example_controller3.py b/demo/vehicle/controller/example_controller3.py
index 96cf9c0fd46722649ea7a18eed5dde4b37ef0feb..c07a80ba19becf7f3115b67c161549c4f8ced0ba 100644
--- a/demo/vehicle/controller/example_controller3.py
+++ b/demo/vehicle/controller/example_controller3.py
@@ -1,6 +1,6 @@
 from enum import Enum, auto
 import copy
-from dryvr_plus_plus.map import LaneMap
+from verse.map import LaneMap
 
 class VehicleMode(Enum):
     Normal = auto()
diff --git a/demo/vehicle/controller/example_two_car_sign_lane_switch.py b/demo/vehicle/controller/example_two_car_sign_lane_switch.py
index 79c5e324c6d4678d4c08d506ef655dd886ac01fe..3a23d63b4f946f6887900b013681f66de66f4655 100644
--- a/demo/vehicle/controller/example_two_car_sign_lane_switch.py
+++ b/demo/vehicle/controller/example_two_car_sign_lane_switch.py
@@ -1,9 +1,9 @@
-from dryvr_plus_plus.example import FakeSensor2
-from dryvr_plus_plus.example import SimpleMap3
-from dryvr_plus_plus import Scenario
-from dryvr_plus_plus.example import SignAgent
-from dryvr_plus_plus.example import CarAgent
-from dryvr_plus_plus.plotter2D import *
+from verse.example import FakeSensor2
+from verse.example import SimpleMap3
+from verse import Scenario
+from verse.example import SignAgent
+from verse.example import CarAgent
+from verse.plotter2D import *
 
 from enum import Enum, auto
 import copy
@@ -76,12 +76,12 @@ def controller(ego: State, other: State, sign: State, lane_map):
     return output
 
 
-from dryvr_plus_plus.example.example_agent.car_agent import CarAgent
-from dryvr_plus_plus.example.example_agent.sign_agent import SignAgent
-from dryvr_plus_plus.scene_verifier.scenario.scenario import Scenario
-from dryvr_plus_plus.example.example_map.simple_map2 import SimpleMap3
-from dryvr_plus_plus.plotter.plotter2D import plot_reachtube_tree, plot_simulation_tree
-from dryvr_plus_plus.example.example_sensor.fake_sensor import FakeSensor2
+from verse.example.example_agent.car_agent import CarAgent
+from verse.example.example_agent.sign_agent import SignAgent
+from verse.scene_verifier.scenario.scenario import Scenario
+from verse.example.example_map.simple_map2 import SimpleMap3
+from verse.plotter.plotter2D import plot_reachtube_tree, plot_simulation_tree
+from verse.example.example_sensor.fake_sensor import FakeSensor2
 
 import matplotlib.pyplot as plt
 
diff --git a/demo/vehicle/demo2.py b/demo/vehicle/demo2.py
index eae100aa0c4826d802db62f9ccf3f7b5c31a0f1f..40701dceb7a8fc93ae0c5cbd2dac6a8fe80e9157 100644
--- a/demo/vehicle/demo2.py
+++ b/demo/vehicle/demo2.py
@@ -1,6 +1,6 @@
-from dryvr_plus_plus.example import CarAgent, SimpleMap3, FakeSensor2
-from dryvr_plus_plus import Scenario
-from dryvr_plus_plus.plotter.plotter2D import *
+from verse.example import CarAgent, SimpleMap3, FakeSensor2
+from verse import Scenario
+from verse.plotter.plotter2D import *
 from enum import Enum, auto
 
 class VehicleMode(Enum):
diff --git a/demo/vehicle/demo3.py b/demo/vehicle/demo3.py
index 2c9295cfe4d77a9309e522ad019217a4759a8405..a0ecba62430de076646d32eeeaa44a602a19ded1 100644
--- a/demo/vehicle/demo3.py
+++ b/demo/vehicle/demo3.py
@@ -1,7 +1,7 @@
-from dryvr_plus_plus.example import CarAgent, NPCAgent, SimpleMap3
-from dryvr_plus_plus import Scenario
+from verse.example import CarAgent, NPCAgent, SimpleMap3
+from verse import Scenario
 from enum import Enum, auto
-from dryvr_plus_plus.plotter.plotter2D import *
+from verse.plotter.plotter2D import *
 
 import plotly.graph_objects as go
 
diff --git a/demo/vehicle/demo4.py b/demo/vehicle/demo4.py
index fb957854743d8224b00ff0f9154255906d95c407..6198e306d0e3eed57704c4a93f300c57e0b411b5 100644
--- a/demo/vehicle/demo4.py
+++ b/demo/vehicle/demo4.py
@@ -1,6 +1,6 @@
-from dryvr_plus_plus.example import CarAgent, NPCAgent, SimpleMap4
-from dryvr_plus_plus import Scenario
-from dryvr_plus_plus.plotter.plotter2D import *
+from verse.example import CarAgent, NPCAgent, SimpleMap4
+from verse import Scenario
+from verse.plotter.plotter2D import *
 
 from enum import Enum, auto
 import plotly.graph_objects as go
diff --git a/demo/vehicle/demo5.py b/demo/vehicle/demo5.py
index 4ac12688bd724e7c9dbe8c2b2df626ba1e6cac30..0832c9f57edcc0e4f290a8f3b812c1cd59f4dd1a 100644
--- a/demo/vehicle/demo5.py
+++ b/demo/vehicle/demo5.py
@@ -1,6 +1,6 @@
-from dryvr_plus_plus.example import CarAgent, NPCAgent, SimpleMap3
-from dryvr_plus_plus import Scenario
-from dryvr_plus_plus.plotter.plotter2D import *
+from verse.example import CarAgent, NPCAgent, SimpleMap3
+from verse import Scenario
+from verse.plotter.plotter2D import *
 from enum import Enum, auto
 
 
diff --git a/demo/vehicle/demo6.py b/demo/vehicle/demo6.py
index 63f4da418baabfec5a010d6d7c8a3c0d7330fdbc..f2cc4a41c03e2ac550b85c5d1f0f168567cb138f 100644
--- a/demo/vehicle/demo6.py
+++ b/demo/vehicle/demo6.py
@@ -1,6 +1,6 @@
-from dryvr_plus_plus.example import CarAgent, NPCAgent, SimpleMap4
-from dryvr_plus_plus import Scenario
-from dryvr_plus_plus.plotter.plotter2D import *
+from verse.example import CarAgent, NPCAgent, SimpleMap4
+from verse import Scenario
+from verse.plotter.plotter2D import *
 
 from enum import Enum, auto
 import plotly.graph_objects as go
diff --git a/demo/vehicle/demo7.py b/demo/vehicle/demo7.py
index 4dbafd2e95ba8d94776bf2f610070336bf7a193d..0a231314d5ff25913061b89c7f73baec34e4b750 100644
--- a/demo/vehicle/demo7.py
+++ b/demo/vehicle/demo7.py
@@ -1,9 +1,9 @@
 # SM: Noting some things about the example
 
-from dryvr_plus_plus.example import CarAgent, NPCAgent, SimpleMap4
-from dryvr_plus_plus import Scenario
-from dryvr_plus_plus.plotter.plotter2D import *
-from dryvr_plus_plus.analysis import AnalysisTree
+from verse.example import CarAgent, NPCAgent, SimpleMap4
+from verse import Scenario
+from verse.plotter.plotter2D import *
+from verse.analysis import AnalysisTree
 
 from enum import Enum, auto
 import plotly.graph_objects as go
diff --git a/demo/vehicle/demo8.py b/demo/vehicle/demo8.py
index 6207cf8d1c4db74b6b5ea7130eab2ece779be0f4..de51231b19dc60cce0c0548ff8e8fe4293bdc114 100644
--- a/demo/vehicle/demo8.py
+++ b/demo/vehicle/demo8.py
@@ -1,6 +1,6 @@
-from dryvr_plus_plus.example import CarAgent, SignAgent, SimpleMap3
-from dryvr_plus_plus import Scenario
-from dryvr_plus_plus.plotter.plotter2D import *
+from verse.example import CarAgent, SignAgent, SimpleMap3
+from verse import Scenario
+from verse.plotter.plotter2D import *
 
 from enum import Enum, auto
 import plotly.graph_objects as go
diff --git a/demo/vehicle/demo_opendrive.py b/demo/vehicle/demo_opendrive.py
index 483082a2f5bcfd4e21677227eb890f7baf8fd0f7..8b5d6fb58d523caef360fcb73912d8ed6dc20a49 100644
--- a/demo/vehicle/demo_opendrive.py
+++ b/demo/vehicle/demo_opendrive.py
@@ -1,8 +1,8 @@
-from dryvr_plus_plus.example import CarAgent, NPCAgent, SimpleMap3
-from dryvr_plus_plus.map import opendrive_map
-from dryvr_plus_plus import Scenario
+from verse.example import CarAgent, NPCAgent, SimpleMap3
+from verse.map import opendrive_map
+from verse import Scenario
 from enum import Enum, auto
-from dryvr_plus_plus.plotter.plotter2D import *
+from verse.plotter.plotter2D import *
 
 import plotly.graph_objects as go
 
diff --git a/setup.py b/setup.py
index 5de8757e1af57ad4d0cde596b292b7f5072a8af5..f2d6499cf3ee022155f915ab2c4ece7a9a16fb48 100644
--- a/setup.py
+++ b/setup.py
@@ -2,9 +2,9 @@
 from setuptools import setup, find_packages
 
 setup(
-    name='dryvr_plus_plus',
+    name='verse',
     version='0.1',
-    description='DryVR++',
+    description='AutoVerse',
     author='Yangge Li, Katherine Braught, Haoqing Zhu',
     maintainer='Yangge Li, Katherine Braught, Haoqing Zhu',
     maintainer_email='{li213, braught2, haoqing3}@illinois.edu',
diff --git a/tests/testdpp.py b/tests/testdpp.py
index e030d76653c573ff62dbf00ad331d4f777060cfc..2c3a82ddf818d0f81740b582f1b8336345d2471e 100644
--- a/tests/testdpp.py
+++ b/tests/testdpp.py
@@ -47,9 +47,9 @@ def controller(ego:State):
 
     return output_vehicle_mode, output_lane_mode
 
-from dryvr_plus_plus.example.example_agent.car_agent import CarAgent
-from dryvr_plus_plus.scenario.scenario import Scenario
-from dryvr_plus_plus.example.example_map.simple_map import SimpleMap2
+from verse.example.example_agent.car_agent import CarAgent
+from verse.scenario.scenario import Scenario
+from verse.example.example_map.simple_map import SimpleMap2
 
 
 class TestSimulatorMethods(unittest.TestCase):
diff --git a/dryvr_plus_plus/__init__.py b/verse/__init__.py
similarity index 100%
rename from dryvr_plus_plus/__init__.py
rename to verse/__init__.py
diff --git a/dryvr_plus_plus/agents/__init__.py b/verse/agents/__init__.py
similarity index 100%
rename from dryvr_plus_plus/agents/__init__.py
rename to verse/agents/__init__.py
diff --git a/dryvr_plus_plus/agents/base_agent.py b/verse/agents/base_agent.py
similarity index 84%
rename from dryvr_plus_plus/agents/base_agent.py
rename to verse/agents/base_agent.py
index 7b11747f16663fb139aa8145cda2f59ce96aad82..61bf79dab3dcb719007f34a945f67f7b4245f454 100644
--- a/dryvr_plus_plus/agents/base_agent.py
+++ b/verse/agents/base_agent.py
@@ -1,4 +1,4 @@
-from dryvr_plus_plus.code_parser import ControllerIR
+from verse.code_parser import ControllerIR
 
 
 class BaseAgent:
diff --git a/dryvr_plus_plus/analysis/__init__.py b/verse/analysis/__init__.py
similarity index 100%
rename from dryvr_plus_plus/analysis/__init__.py
rename to verse/analysis/__init__.py
diff --git a/dryvr_plus_plus/analysis/analysis_tree.py b/verse/analysis/analysis_tree.py
similarity index 100%
rename from dryvr_plus_plus/analysis/analysis_tree.py
rename to verse/analysis/analysis_tree.py
diff --git a/dryvr_plus_plus/analysis/simulator.py b/verse/analysis/simulator.py
similarity index 97%
rename from dryvr_plus_plus/analysis/simulator.py
rename to verse/analysis/simulator.py
index d8503485b05c512525f135ffac67cace48fdd693..abc5a5e3fb9a65f8fb573b494a3752f67900cf59 100644
--- a/dryvr_plus_plus/analysis/simulator.py
+++ b/verse/analysis/simulator.py
@@ -6,8 +6,8 @@ import functools
 import pprint
 pp = functools.partial(pprint.pprint, compact=True, width=100)
 
-from dryvr_plus_plus.agents.base_agent import BaseAgent
-from dryvr_plus_plus.analysis.analysis_tree import AnalysisTreeNode, AnalysisTree
+from verse.agents.base_agent import BaseAgent
+from verse.analysis.analysis_tree import AnalysisTreeNode, AnalysisTree
 
 class Simulator:
     def __init__(self):
diff --git a/dryvr_plus_plus/analysis/verifier.py b/verse/analysis/verifier.py
similarity index 95%
rename from dryvr_plus_plus/analysis/verifier.py
rename to verse/analysis/verifier.py
index f15622ac95a8f7199103b8d32e515f8e4c9d5f86..60699aa808241579b0822d6764497092dae4ba42 100644
--- a/dryvr_plus_plus/analysis/verifier.py
+++ b/verse/analysis/verifier.py
@@ -3,9 +3,9 @@ import copy
 
 import numpy as np
 
-from dryvr_plus_plus.agents.base_agent import BaseAgent
-from dryvr_plus_plus.analysis.analysis_tree import AnalysisTreeNode, AnalysisTree
-from dryvr_plus_plus.reachability_engine.dryvr import calc_bloated_tube, SIMTRACENUM
+from verse.agents.base_agent import BaseAgent
+from verse.analysis.analysis_tree import AnalysisTreeNode, AnalysisTree
+from verse.reachability_engine.dryvr import calc_bloated_tube, SIMTRACENUM
 
 
 class Verifier:
diff --git a/dryvr_plus_plus/automaton/__init__.py b/verse/automaton/__init__.py
similarity index 100%
rename from dryvr_plus_plus/automaton/__init__.py
rename to verse/automaton/__init__.py
diff --git a/dryvr_plus_plus/automaton/guard.py b/verse/automaton/guard.py
similarity index 99%
rename from dryvr_plus_plus/automaton/guard.py
rename to verse/automaton/guard.py
index 364c5ba61ac321b28a48b1600583e905e961a57d..37ae85220ed8d0724c9fddf459aae9e4adac1adc 100644
--- a/dryvr_plus_plus/automaton/guard.py
+++ b/verse/automaton/guard.py
@@ -4,10 +4,10 @@ import ast
 
 from z3 import *
 
-from dryvr_plus_plus.map import LaneMap, AbstractLane
-from dryvr_plus_plus.reachability_engine.utils import *
-from dryvr_plus_plus.agents.base_agent import BaseAgent
-from dryvr_plus_plus.code_parser import Reduction, ReductionType, unparse
+from verse.map import LaneMap, AbstractLane
+from verse.reachability_engine.utils import *
+from verse.agents.base_agent import BaseAgent
+from verse.code_parser import Reduction, ReductionType, unparse
 
 class LogicTreeNode:
     def __init__(self, data, child = [], val = None, mode_guard = None):
diff --git a/dryvr_plus_plus/automaton/hybrid_automaton.py b/verse/automaton/hybrid_automaton.py
similarity index 100%
rename from dryvr_plus_plus/automaton/hybrid_automaton.py
rename to verse/automaton/hybrid_automaton.py
diff --git a/dryvr_plus_plus/automaton/hybrid_io_automaton.py b/verse/automaton/hybrid_io_automaton.py
similarity index 90%
rename from dryvr_plus_plus/automaton/hybrid_io_automaton.py
rename to verse/automaton/hybrid_io_automaton.py
index f2b7a302fe537bae21b8ee051b9398041608241a..1ebc5dd8812ff9e62d22c916c0bff53c2b067fe9 100644
--- a/dryvr_plus_plus/automaton/hybrid_io_automaton.py
+++ b/verse/automaton/hybrid_io_automaton.py
@@ -1,4 +1,4 @@
-from dryvr_plus_plus.automaton.hybrid_automaton import HybridAutomaton
+from verse.automaton.hybrid_automaton import HybridAutomaton
 
 class HybridIoAutomaton(HybridAutomaton):
     def __init__(
diff --git a/dryvr_plus_plus/automaton/reset.py b/verse/automaton/reset.py
similarity index 98%
rename from dryvr_plus_plus/automaton/reset.py
rename to verse/automaton/reset.py
index 04fa1cae58ff431cbe68bf663df35f3d441117a6..b10461f1cef7a23e3ab72adffbaa5ca6f40838c9 100644
--- a/dryvr_plus_plus/automaton/reset.py
+++ b/verse/automaton/reset.py
@@ -1,7 +1,7 @@
 import itertools, copy
 import numpy as np
 
-from dryvr_plus_plus.code_parser import unparse 
+from verse.code_parser import unparse
 
 class ResetExpression():
     def __init__(self, reset):
diff --git a/dryvr_plus_plus/code_parser/__init__.py b/verse/code_parser/__init__.py
similarity index 100%
rename from dryvr_plus_plus/code_parser/__init__.py
rename to verse/code_parser/__init__.py
diff --git a/dryvr_plus_plus/code_parser/astunparser.py b/verse/code_parser/astunparser.py
similarity index 100%
rename from dryvr_plus_plus/code_parser/astunparser.py
rename to verse/code_parser/astunparser.py
diff --git a/dryvr_plus_plus/code_parser/parser.py b/verse/code_parser/parser.py
similarity index 99%
rename from dryvr_plus_plus/code_parser/parser.py
rename to verse/code_parser/parser.py
index 4e3260ab6ffcc7d15cbbd53893b26db54b8cf96c..a7b5fe65f8710f92c6b975459d8e7bfb732009e3 100644
--- a/dryvr_plus_plus/code_parser/parser.py
+++ b/verse/code_parser/parser.py
@@ -2,8 +2,8 @@ import ast, copy, warnings
 from typing import List, Dict, Union, Optional, Any, Tuple
 from dataclasses import dataclass, field, fields
 from enum import Enum, auto
-from dryvr_plus_plus.code_parser import astunparser
-from dryvr_plus_plus.reachability_engine.utils import find
+from verse.code_parser import astunparser
+from verse.reachability_engine.utils import find
 
 def merge_conds(c):
     if len(c) == 0:
diff --git a/dryvr_plus_plus/example/__init__.py b/verse/example/__init__.py
similarity index 100%
rename from dryvr_plus_plus/example/__init__.py
rename to verse/example/__init__.py
diff --git a/dryvr_plus_plus/example/example_agent/__init__.py b/verse/example/example_agent/__init__.py
similarity index 100%
rename from dryvr_plus_plus/example/example_agent/__init__.py
rename to verse/example/example_agent/__init__.py
diff --git a/dryvr_plus_plus/example/example_agent/ball_agent.py b/verse/example/example_agent/ball_agent.py
similarity index 96%
rename from dryvr_plus_plus/example/example_agent/ball_agent.py
rename to verse/example/example_agent/ball_agent.py
index 2628d55f31299939cd0983e016f4e9c36e1b0e11..6552a7222a2b0088c9e26c6747aa60bf2741e8f0 100644
--- a/dryvr_plus_plus/example/example_agent/ball_agent.py
+++ b/verse/example/example_agent/ball_agent.py
@@ -4,8 +4,8 @@ from typing import Tuple, List
 import numpy as np
 from scipy.integrate import ode
 
-from dryvr_plus_plus import BaseAgent
-from dryvr_plus_plus import LaneMap
+from verse import BaseAgent
+from verse import LaneMap
 
 
 class BallAgent(BaseAgent):
diff --git a/dryvr_plus_plus/example/example_agent/car_agent.py b/verse/example/example_agent/car_agent.py
similarity index 97%
rename from dryvr_plus_plus/example/example_agent/car_agent.py
rename to verse/example/example_agent/car_agent.py
index 5aee874c1ce9c6835a9761322d00b9728abf0102..def152e25b2e2d6c146cd3bb6cf8965dfd82c5bf 100644
--- a/dryvr_plus_plus/example/example_agent/car_agent.py
+++ b/verse/example/example_agent/car_agent.py
@@ -4,9 +4,9 @@ from typing import Tuple, List
 import numpy as np 
 from scipy.integrate import ode
 
-from dryvr_plus_plus import BaseAgent
-from dryvr_plus_plus import LaneMap
-from dryvr_plus_plus.code_parser import ControllerIR
+from verse import BaseAgent
+from verse import LaneMap
+from verse.code_parser import ControllerIR
 
 class NPCAgent(BaseAgent):
     def __init__(self, id):
diff --git a/dryvr_plus_plus/example/example_agent/sign_agent.py b/verse/example/example_agent/sign_agent.py
similarity index 82%
rename from dryvr_plus_plus/example/example_agent/sign_agent.py
rename to verse/example/example_agent/sign_agent.py
index 31db92782710cb1dcfaf02fa5d47c3bbd1bd6443..065ff90a5d1306418089e4da465d62c35da90a33 100644
--- a/dryvr_plus_plus/example/example_agent/sign_agent.py
+++ b/verse/example/example_agent/sign_agent.py
@@ -1,6 +1,6 @@
-from dryvr_plus_plus import BaseAgent
+from verse import BaseAgent
 import numpy as np
-from dryvr_plus_plus.code_parser import ControllerIR
+from verse.code_parser import ControllerIR
 
 class SignAgent(BaseAgent):
     def __init__(self, id):
diff --git a/dryvr_plus_plus/example/example_map/__init__.py b/verse/example/example_map/__init__.py
similarity index 100%
rename from dryvr_plus_plus/example/example_map/__init__.py
rename to verse/example/example_map/__init__.py
diff --git a/dryvr_plus_plus/example/example_map/simple_map.py b/verse/example/example_map/simple_map.py
similarity index 95%
rename from dryvr_plus_plus/example/example_map/simple_map.py
rename to verse/example/example_map/simple_map.py
index 943ef7c21cf6b6ff26c1193e677a29a62c598d7e..e0c97f29b69982027437c19a8931912b6b09f480 100644
--- a/dryvr_plus_plus/example/example_map/simple_map.py
+++ b/verse/example/example_map/simple_map.py
@@ -1,4 +1,4 @@
-from dryvr_plus_plus import LaneMap, LaneSegment
+from verse import LaneMap, LaneSegment
 
 class SimpleMap(LaneMap):
     def __init__(self):
diff --git a/dryvr_plus_plus/example/example_map/simple_map2.py b/verse/example/example_map/simple_map2.py
similarity index 98%
rename from dryvr_plus_plus/example/example_map/simple_map2.py
rename to verse/example/example_map/simple_map2.py
index 22cf92da950035e300a08ec2ef176cf63a84694c..84428e934d73c1f48ab78713565323a3176c5fed 100644
--- a/dryvr_plus_plus/example/example_map/simple_map2.py
+++ b/verse/example/example_map/simple_map2.py
@@ -1,4 +1,4 @@
-from dryvr_plus_plus import LaneMap, LaneSegment, StraightLane, CircularLane, Lane
+from verse import LaneMap, LaneSegment, StraightLane, CircularLane, Lane
 
 import numpy as np
 
diff --git a/dryvr_plus_plus/example/example_sensor/__init__.py b/verse/example/example_sensor/__init__.py
similarity index 100%
rename from dryvr_plus_plus/example/example_sensor/__init__.py
rename to verse/example/example_sensor/__init__.py
diff --git a/dryvr_plus_plus/example/example_sensor/fake_sensor.py b/verse/example/example_sensor/fake_sensor.py
similarity index 100%
rename from dryvr_plus_plus/example/example_sensor/fake_sensor.py
rename to verse/example/example_sensor/fake_sensor.py
diff --git a/dryvr_plus_plus/map/__init__.py b/verse/map/__init__.py
similarity index 100%
rename from dryvr_plus_plus/map/__init__.py
rename to verse/map/__init__.py
diff --git a/dryvr_plus_plus/map/lane.py b/verse/map/lane.py
similarity index 96%
rename from dryvr_plus_plus/map/lane.py
rename to verse/map/lane.py
index 1d35f49ce78730d0c109f372a95bd7d9a4b4b9df..ee16f0fbba6458d8fc50b3725b0876fba2f90910 100644
--- a/dryvr_plus_plus/map/lane.py
+++ b/verse/map/lane.py
@@ -2,7 +2,7 @@ from typing import List
 
 import numpy as np
 
-from dryvr_plus_plus.map.lane_segment import AbstractLane
+from verse.map.lane_segment import AbstractLane
 
 class Lane():
     COMPENSATE = 3
diff --git a/dryvr_plus_plus/map/lane_map.py b/verse/map/lane_map.py
similarity index 97%
rename from dryvr_plus_plus/map/lane_map.py
rename to verse/map/lane_map.py
index a2643aba4b61b8c94c2649adf0c3d6f7fa374cfa..e124ce69c9a45fe82a598ed8e1f96a4f0ae0e7a1 100644
--- a/dryvr_plus_plus/map/lane_map.py
+++ b/verse/map/lane_map.py
@@ -4,8 +4,8 @@ from enum import Enum
 
 import numpy as np
 
-from dryvr_plus_plus.map.lane_segment import AbstractLane
-from dryvr_plus_plus.map.lane import Lane
+from verse.map.lane_segment import AbstractLane
+from verse.map.lane import Lane
 
 class LaneMap:
     def __init__(self, lane_seg_list:List[Lane] = []):
diff --git a/dryvr_plus_plus/map/lane_segment.py b/verse/map/lane_segment.py
similarity index 99%
rename from dryvr_plus_plus/map/lane_segment.py
rename to verse/map/lane_segment.py
index a145f2d374737c8ad860f12075b078ab83e24732..0fb1a1a2f0dc397359c6a6e4ebba4a67b6799b7e 100644
--- a/dryvr_plus_plus/map/lane_segment.py
+++ b/verse/map/lane_segment.py
@@ -3,7 +3,7 @@ from abc import ABCMeta, abstractmethod
 from typing import Tuple, List, Optional
 import copy
 
-from dryvr_plus_plus.reachability_engine.utils import wrap_to_pi, Vector, get_class_path, to_serializable
+from verse.reachability_engine.utils import wrap_to_pi, Vector, get_class_path, to_serializable
 
 class LineType:
 
diff --git a/dryvr_plus_plus/map/opendrive_parser.py b/verse/map/opendrive_parser.py
similarity index 99%
rename from dryvr_plus_plus/map/opendrive_parser.py
rename to verse/map/opendrive_parser.py
index c6f71bcafd1ec4bb22aeda4e3032620a4a47d3e0..02a86e6bdc5ce0bc543ab6e0759c71df592f986a 100644
--- a/dryvr_plus_plus/map/opendrive_parser.py
+++ b/verse/map/opendrive_parser.py
@@ -6,9 +6,9 @@ from bs4 import BeautifulSoup #Beautiful Soup library for parsing data in python
 ###############################################################################################
 
 #Import all the lane objects needed to generate all the lane map objects for the controllers
-from dryvr_plus_plus.map.lane import Lane
-from dryvr_plus_plus.map.lane_map import LaneMap
-from dryvr_plus_plus.map.lane_segment import *
+from verse.map.lane import Lane
+from verse.map.lane_map import LaneMap
+from verse.map.lane_segment import *
 ###############################################################################################
 
 ###############################ASAM OPEN DRIVE PARSING FUNCTION################################
diff --git a/dryvr_plus_plus/plotter/__init__.py b/verse/plotter/__init__.py
similarity index 100%
rename from dryvr_plus_plus/plotter/__init__.py
rename to verse/plotter/__init__.py
diff --git a/dryvr_plus_plus/plotter/plotter2D.py b/verse/plotter/plotter2D.py
similarity index 99%
rename from dryvr_plus_plus/plotter/plotter2D.py
rename to verse/plotter/plotter2D.py
index a3d5d0a7e0b9cb687996d83d4d20cecaac754ab3..6841c0be548e106d41912d0feb28c1caff99e391 100644
--- a/dryvr_plus_plus/plotter/plotter2D.py
+++ b/verse/plotter/plotter2D.py
@@ -7,7 +7,7 @@ import numpy as np
 import plotly.graph_objects as go
 from typing import List, Tuple, Union
 from plotly.graph_objs.scatter import Marker
-from dryvr_plus_plus.analysis.analysis_tree import AnalysisTree, AnalysisTreeNode
+from verse.analysis.analysis_tree import AnalysisTree, AnalysisTreeNode
 
 colors = [['#CC0000', '#FF0000', '#FF3333', '#FF6666', '#FF9999', '#FFCCCC'],
           ['#CCCC00', '#FFFF00', '#FFFF33', '#FFFF66', '#FFFF99', '#FFE5CC'],
@@ -37,7 +37,7 @@ API
 These 5 functions share the same API.
 
 - root: the root node of the trace, should be the return value of Scenario.verify() or Scenario.simulate().
-- map: the map of the scenario, templates are in dryvr_plus_plus.example.example_map.simple_map2.py.
+- map: the map of the scenario, templates are in verse.example.example_map.simple_map2.py.
 - fig: the object of the figure, its type should be plotly.graph_objects.Figure().
 - x_dim: the dimension of x coordinate in the trace list of every time step. The default value is 1.
 - y_dim: the dimension of y coordinate in the trace list of every time step. The default value is 2.
diff --git a/dryvr_plus_plus/plotter/plotter3D.py b/verse/plotter/plotter3D.py
similarity index 100%
rename from dryvr_plus_plus/plotter/plotter3D.py
rename to verse/plotter/plotter3D.py
diff --git a/dryvr_plus_plus/plotter/plotter_README.md b/verse/plotter/plotter_README.md
similarity index 100%
rename from dryvr_plus_plus/plotter/plotter_README.md
rename to verse/plotter/plotter_README.md
diff --git a/dryvr_plus_plus/reachability_engine/__init__.py b/verse/reachability_engine/__init__.py
similarity index 100%
rename from dryvr_plus_plus/reachability_engine/__init__.py
rename to verse/reachability_engine/__init__.py
diff --git a/dryvr_plus_plus/reachability_engine/dryvr.py b/verse/reachability_engine/dryvr.py
similarity index 99%
rename from dryvr_plus_plus/reachability_engine/dryvr.py
rename to verse/reachability_engine/dryvr.py
index d7e27985412cf744bb8ccc5e6609521b3288224b..85b3fd09e0d574368b12a0b5e93d7debf596d127 100644
--- a/dryvr_plus_plus/reachability_engine/dryvr.py
+++ b/verse/reachability_engine/dryvr.py
@@ -221,7 +221,7 @@ def calc_bloated_tube(
         bloating_method (str): determine the bloating method for reach tube, either GLOBAL or PW
         sim_trace_num (int): number of simulations used to calculate the discrepancy
         kvalue (list): list of float used when bloating method set to PW
-        guard_checker (dryvr_plus_plus.core.guard.Guard or None): guard check object
+        guard_checker (verse.core.guard.Guard or None): guard check object
         guard_str (str): guard string
        
     Returns:
diff --git a/dryvr_plus_plus/reachability_engine/utils.py b/verse/reachability_engine/utils.py
similarity index 100%
rename from dryvr_plus_plus/reachability_engine/utils.py
rename to verse/reachability_engine/utils.py
diff --git a/dryvr_plus_plus/scenario/__init__.py b/verse/scenario/__init__.py
similarity index 100%
rename from dryvr_plus_plus/scenario/__init__.py
rename to verse/scenario/__init__.py
diff --git a/dryvr_plus_plus/scenario/scenario.py b/verse/scenario/scenario.py
similarity index 98%
rename from dryvr_plus_plus/scenario/scenario.py
rename to verse/scenario/scenario.py
index 0fd9905fb1a49c1aed61dc09e9849b9f267b1bff..0c7b58bab881009ce66dcde1089be93c9f2e8c45 100644
--- a/dryvr_plus_plus/scenario/scenario.py
+++ b/verse/scenario/scenario.py
@@ -7,12 +7,12 @@ import ast
 
 import numpy as np
 
-from dryvr_plus_plus.agents.base_agent import BaseAgent
-from dryvr_plus_plus.automaton import GuardExpressionAst, ResetExpression
-from dryvr_plus_plus.analysis import Simulator, Verifier, AnalysisTreeNode, AnalysisTree
-from dryvr_plus_plus.reachability_engine.utils import find, sample_rect
-from dryvr_plus_plus.sensor.base_sensor import BaseSensor
-from dryvr_plus_plus.map.lane_map import LaneMap
+from verse.agents.base_agent import BaseAgent
+from verse.automaton import GuardExpressionAst, ResetExpression
+from verse.analysis import Simulator, Verifier, AnalysisTreeNode, AnalysisTree
+from verse.reachability_engine.utils import find, sample_rect
+from verse.sensor.base_sensor import BaseSensor
+from verse.map.lane_map import LaneMap
 
 EGO, OTHERS = "ego", "others"
 
diff --git a/dryvr_plus_plus/sensor/__init__.py b/verse/sensor/__init__.py
similarity index 100%
rename from dryvr_plus_plus/sensor/__init__.py
rename to verse/sensor/__init__.py
diff --git a/dryvr_plus_plus/sensor/base_sensor.py b/verse/sensor/base_sensor.py
similarity index 98%
rename from dryvr_plus_plus/sensor/base_sensor.py
rename to verse/sensor/base_sensor.py
index 3be85df796899833883e3d796addf04415fd78fb..4cc9217c92ab934fcee929a1b8eead3a82e4728f 100644
--- a/dryvr_plus_plus/sensor/base_sensor.py
+++ b/verse/sensor/base_sensor.py
@@ -1,5 +1,5 @@
 import numpy as np
-from dryvr_plus_plus.agents.base_agent import BaseAgent
+from verse.agents.base_agent import BaseAgent
 
 
 def sets(d, thing, attrs, vals):