diff --git a/mrdna/RELEASE-VERSION b/mrdna/RELEASE-VERSION
index 12166bd8587f4cba5ce0082488d16ea86cc48fe6..59d9bd875a6ba33b6f62fc0b41b6a56744bd428a 100644
--- a/mrdna/RELEASE-VERSION
+++ b/mrdna/RELEASE-VERSION
@@ -1 +1 @@
-1.0a.dev171
+1.0a.dev177
diff --git a/mrdna/__init__.py b/mrdna/__init__.py
index a60c9d394288138f652113fdabbf596687766cca..7eceda79230036910112451b410b921af30da5b7 100644
--- a/mrdna/__init__.py
+++ b/mrdna/__init__.py
@@ -35,7 +35,7 @@ def get_resource_path(relative_path):
 try:
     from arbdmodel.coords import read_arbd_coordinates
 except: 
-    from marbdmodel.coords import readArbdCoords
+    from .marbdmodel.coords import readArbdCoords
 from .segmentmodel import SegmentModel, SingleStrandedSegment, DoubleStrandedSegment
 from .simulate import multiresolution_simulation
 from .model.dna_sequence import read_sequence_file
diff --git a/mrdna/marbdmodel/coords.py b/mrdna/marbdmodel/coords.py
index df1f145535927f63c205d603cbe6bd3aab73bf4c..d9837b086f628253d92e2ae68f0788ca5fdf1115 100644
--- a/mrdna/marbdmodel/coords.py
+++ b/mrdna/marbdmodel/coords.py
@@ -110,6 +110,7 @@ def quaternion_to_matrix(q):
     return np.array(R)
 
 def quaternion_from_matrix( R ):
+    R=R.T
     q = np.empty(4)
     if R[2,2] < 0:
         if R[0,0] > R[1,1]:
@@ -204,7 +205,7 @@ def quaternion_product(a, b):
 
 def quaternion_inverse(q):
     assert(len(q) == 4)
-quaternion_from_matrix( R )    qinv = np.array(q)
+    qinv = np.array(q)
     qinv[1:] = -qinv[1:]
     qinv = qinv / (q[0]**2 + q[1:].dot(q[1:]))
     return qinv
diff --git a/mrdna/marbdmodel/coords_arbd.py b/mrdna/marbdmodel/coords_arbd.py
index c9ecd7fbb54a073681673205d4e7ce6c9ecf83f9..2df61ede52e7d05942ef24034cf0730da59ac1fe 100644
--- a/mrdna/marbdmodel/coords_arbd.py
+++ b/mrdna/marbdmodel/coords_arbd.py
@@ -111,6 +111,7 @@ def quaternion_to_matrix(q):
     return np.array(R)
 
 def quaternion_from_matrix( R ):
+    R=R.T
     q = np.empty(4)
     if R[2,2] < 0:
         if R[0,0] > R[1,1]:
diff --git a/mrdna/segmentmodel.py b/mrdna/segmentmodel.py
index d09c45bac9313d7abbbfe848f30ead2693914fc4..e77f8d070e70e8e34e0950e5b38d8283a69833dc 100644
--- a/mrdna/segmentmodel.py
+++ b/mrdna/segmentmodel.py
@@ -524,7 +524,7 @@ class Segment(ConnectableElement, Group):
 
     # orientation_bond = HarmonicBond(10,2)
     if sys_arbd==False:
-        orientation_bond = HarmonicBond(30,1.5, range_ = (0,500) )
+        orientation_bond = HarmonicBond(30,1.5, rRange = (0,500) )
     else:
         orientation_bond = HarmonicBond(30,1.5, range_ = (0,500) )
     ssDNA_particle = ParticleType("S",
@@ -2028,9 +2028,16 @@ class SegmentModel(ArbdModel):
         if key not in self._bonded_potential:
             assert( kSpring >= 0 )
             if type_ == "bond":
-                self._bonded_potential[key] = HarmonicBond(kSpring,d, range_=(0,1200), max_potential=max_potential)
+                if sys_arbd==True:
+                    self._bonded_potential[key] = HarmonicBond(kSpring,d, range_=(0,1200), max_potential=max_potential)
+                else:
+                    self._bonded_potential[key] = HarmonicBond(kSpring,d, rRange=(0,1200), max_potential=max_potential)
             elif type_ == "gbond":
-                self._bonded_potential[key] = HarmonicBond(kSpring,d, range_=(0,1200), max_potential=max_potential, correct_geometry=True, temperature=self.temperature)
+                if sys_arbd==True:
+                    self._bonded_potential[key] = HarmonicBond(kSpring,d, range_=(0,1200), max_potential=max_potential, correct_geometry=True, temperature=self.temperature)
+                else:
+                    self._bonded_potential[key] = HarmonicBond(kSpring,d, rRange=(0,1200), max_potential=max_potential, correct_geometry=True, temperature=self.temperature)
+ 
             elif type_ == "angle":
                 self._bonded_potential[key] = HarmonicAngle(kSpring,d, max_potential=max_potential)
                 # , resolution = 1, maxForce=0.1)
@@ -2061,7 +2068,10 @@ class SegmentModel(ArbdModel):
         assert( d > 0.2 )
         if key not in self._bonded_potential:
             kT = self.temperature * 0.0019872065 # kcal/mol
-            self._bonded_potential[key] = WLCSKBond( d, lp, kT, range_=(0,1200) )
+            if sys_arbd is True:
+                self._bonded_potential[key] = WLCSKBond( d, lp, kT, range_=(0,1200) )
+            else:
+                self._bonded_potential[key] = WLCSKBond( d, lp, kT, rRange=(0,1200) )
         return self._bonded_potential[key]
 
     def _get_wlc_sk_angle_potential(self, d):