diff --git a/models/Clidastes/50k/Clidastes_50k.ply b/models/Clidastes/50k/Clidastes_50k.ply
new file mode 100644
index 0000000000000000000000000000000000000000..b37b0a1077ff0a0d84a8a9c1e08c72dc3a2bb784
Binary files /dev/null and b/models/Clidastes/50k/Clidastes_50k.ply differ
diff --git a/models/Clidastes/50k/M_AEM_L.ply b/models/Clidastes/50k/M_AEM_L.ply
new file mode 100644
index 0000000000000000000000000000000000000000..6630584ab6ad03ca191d86a991dc4fd88ee368b7
Binary files /dev/null and b/models/Clidastes/50k/M_AEM_L.ply differ
diff --git a/models/Clidastes/50k/M_AEM_R.ply b/models/Clidastes/50k/M_AEM_R.ply
new file mode 100644
index 0000000000000000000000000000000000000000..8f41bc1e599b216030be85922fe139da8079de5d
Binary files /dev/null and b/models/Clidastes/50k/M_AEM_R.ply differ
diff --git a/models/Clidastes/50k/M_AE_L1.ply b/models/Clidastes/50k/M_AE_L1.ply
new file mode 100644
index 0000000000000000000000000000000000000000..0cad3b741aa164a29765cacf913060f1ff4f3b6c
Binary files /dev/null and b/models/Clidastes/50k/M_AE_L1.ply differ
diff --git a/models/Clidastes/50k/M_AE_L2.ply b/models/Clidastes/50k/M_AE_L2.ply
new file mode 100644
index 0000000000000000000000000000000000000000..bddb98e94e50df9670052af0144faec9f51b197b
Binary files /dev/null and b/models/Clidastes/50k/M_AE_L2.ply differ
diff --git a/models/Clidastes/50k/M_AE_R1.ply b/models/Clidastes/50k/M_AE_R1.ply
new file mode 100644
index 0000000000000000000000000000000000000000..6782cbb2fe355bc4052e9a09088135f99bc55282
Binary files /dev/null and b/models/Clidastes/50k/M_AE_R1.ply differ
diff --git a/models/Clidastes/50k/M_AE_R2.ply b/models/Clidastes/50k/M_AE_R2.ply
new file mode 100644
index 0000000000000000000000000000000000000000..cd4f4b5727794c17b7102ca9fa3de68d0bec2e9e
Binary files /dev/null and b/models/Clidastes/50k/M_AE_R2.ply differ
diff --git a/models/Clidastes/50k/M_AMP_L.ply b/models/Clidastes/50k/M_AMP_L.ply
new file mode 100644
index 0000000000000000000000000000000000000000..75a9f30cbfa1ece5c4634ef33b758bbed6b9cedf
Binary files /dev/null and b/models/Clidastes/50k/M_AMP_L.ply differ
diff --git a/models/Clidastes/50k/M_AMP_R.ply b/models/Clidastes/50k/M_AMP_R.ply
new file mode 100644
index 0000000000000000000000000000000000000000..ffbfa5744ee9e03e7477b3d1f3b2004656775ccf
Binary files /dev/null and b/models/Clidastes/50k/M_AMP_R.ply differ
diff --git a/models/Clidastes/50k/M_PTP_L.ply b/models/Clidastes/50k/M_PTP_L.ply
new file mode 100644
index 0000000000000000000000000000000000000000..787c6a0adc273a72126e2245292c5af8860af0e3
Binary files /dev/null and b/models/Clidastes/50k/M_PTP_L.ply differ
diff --git a/models/Clidastes/50k/M_PTP_R.ply b/models/Clidastes/50k/M_PTP_R.ply
new file mode 100644
index 0000000000000000000000000000000000000000..da09dbd538207b8b114cfa24055b6c8b9ddc7348
Binary files /dev/null and b/models/Clidastes/50k/M_PTP_R.ply differ
diff --git a/models/Clidastes/50k/M_PTS_L.ply b/models/Clidastes/50k/M_PTS_L.ply
new file mode 100644
index 0000000000000000000000000000000000000000..c48d2970be00bd2ad89a4fe82b43ec1014f80c10
Binary files /dev/null and b/models/Clidastes/50k/M_PTS_L.ply differ
diff --git a/models/Clidastes/50k/M_PTS_R.ply b/models/Clidastes/50k/M_PTS_R.ply
new file mode 100644
index 0000000000000000000000000000000000000000..57ce19027c29d6b46721759064b95c5c9d3c25fc
Binary files /dev/null and b/models/Clidastes/50k/M_PTS_R.ply differ
diff --git a/models/Clidastes/Clidastes_propython_50k.py b/models/Clidastes/Clidastes_propython_50k.py
new file mode 100644
index 0000000000000000000000000000000000000000..172ea1b71973349d6ff7732d538ec8cb676622df
--- /dev/null
+++ b/models/Clidastes/Clidastes_propython_50k.py
@@ -0,0 +1,123 @@
+#! \usr\bin\env python3
+# -*- coding: utf-8 -*-
+#  Clidastes_propython (Della Giustina Francesco)
+
+
+def parms(d={}):
+    p = {}
+    import os
+    path = os.path.join(os.path.dirname(__file__),'50k')
+    p['bone'] = f'{path}\Clidastes_50k.ply'
+    p['fixations'] = [
+        {
+            'name': 'contact_pts',
+            'nodes': [[4.318714, -102.023384, -36.709614],
+                        [-4.908366, -101.943626, -35.218159]],
+            'direction': 'z'
+        },
+        {
+            'name': 'axis_pt1',
+            'nodes': [43.380798, 200.395569, 33.000271],
+            'direction': ['x', 'y', 'z']
+        },
+        {
+            'name': 'axis_pt2',
+            'nodes': [-47.555614, 202.980087, 34.424416],
+            'direction': ['x', 'y', 'z']
+        }
+    ]
+    p['muscles'] = [
+        {
+            'file': f'{path}/M_AE_L1.ply',
+            'force': 101.61,
+            'focalpt': [49.04, 168.55, 75.00],
+            'method': 'T+N'
+    },
+    {
+            'file': f'{path}/M_AE_L2.ply',
+            'force': 101.61,
+            'focalpt': [49.04, 168.55, 75.00],
+            'method': 'T+N'
+    },
+    {
+            'file': f'{path}/M_AE_R1.ply',
+            'force': 102.08,
+            'focalpt': [-46.34, 171.53, 75.98],
+            'method': 'T+N'
+    },
+    {
+            'file': f'{path}/M_AE_R2.ply',
+            'force': 102.08,
+            'focalpt': [-46.34, 171.53, 75.98],
+            'method': 'T+N'
+    },
+    {
+            'file': f'{path}/M_AEM_L.ply',
+            'force': 94.27,
+            'focalpt': [43.98, 169.28, 75.45],
+            'method': 'T+N'
+    },
+    {
+            'file': f'{path}/M_AEM_R.ply',
+            'force': 91.51,
+            'focalpt': [-42.81, 170.33, 75.71],
+            'method': 'T+N'
+    },
+    {
+            'file': f'{path}/M_AMP_L.ply',
+            'force': 69.87,
+            'focalpt': [41.02, 191.67, 59.93],
+            'method': 'T+N'
+    },
+    {
+            'file': f'{path}/M_AMP_R.ply',
+            'force': 73.41,
+            'focalpt': [-45.30, 190.73, 59.59],
+            'method': 'T+N'
+    },
+    {
+            'file': f'{path}/M_PTP_L.ply',
+            'force': 302.16,
+            'focalpt': [16.62, 177.37, 74.19],
+            'method': 'T+N'
+    },
+    {
+            'file': f'{path}/M_PTP_R.ply',
+            'force': 309.46,
+            'focalpt': [-16.62, 177.37, 74.19],
+            'method': 'T+N'
+    },
+    {
+            'file': f'{path}/M_PTS_L.ply',
+            'force': 47.11,
+            'focalpt': [17.75, 154.80, 68.71],
+            'method': 'T+N'
+    },
+    {
+            'file': f'{path}/M_PTS_R.ply',
+            'force': 49.44,
+            'focalpt': [-11.99, 156.87, 69.87],
+            'method': 'T+N'
+        }
+    ]
+
+    # material properties
+    p['density'] = 1.662e-9  # [T\mm³]
+    p['Young'] = 18000.      # [MPa]
+    p['Poisson'] = 0.3       # [-]
+
+    p['dt0'] = 0.3       # [s]
+    p['tolNR'] = 1e-3    # [-]
+
+    p.update(d)
+    return p
+
+
+def getMetafor(p={}):
+    import bonemodel as model
+    return model.getMetafor(parms(p))
+
+
+if __name__ == "__main__":
+    import models.bonemodel2 as model
+    model.solve(parms())
diff --git a/models/Clidastes/Points_List.txt b/models/Clidastes/Points_List.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e927b85b74dc367aedf1874fce5bfae780e09e75
--- /dev/null
+++ b/models/Clidastes/Points_List.txt
@@ -0,0 +1,14 @@
+Point_1_L
+9.737800 -107.443642 -41.476234
+
+Point_2_L
+18.720367 -42.742260 -36.978378
+
+Point_3_L
+33.984665 40.152878 -24.569260
+
+Point_4_L
+43.314785 99.891335 -16.491674
+
+Point_5_L
+47.137432 171.505753 9.123382
\ No newline at end of file
diff --git a/models/Clidastes/__init__.py b/models/Clidastes/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/models/attic/dolicorhynchops_selboxes.py b/models/attic/dolicorhynchops_selboxes.py
index e9cfecba7e771652f0a7958f7fcbd09458f2f80f..7008dc0a6f0819b7460aa6e02552e684e0196821 100644
--- a/models/attic/dolicorhynchops_selboxes.py
+++ b/models/attic/dolicorhynchops_selboxes.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
 # -*- coding: utf-8 -*-
 
 
diff --git a/models/boneload.py b/models/boneload.py
index 35c1387a30d5884fd528d6b275dae0e351e2103a..50f96a13866fdce4006b11c5983567a29a6d0ebe 100644
--- a/models/boneload.py
+++ b/models/boneload.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
 # -*- coding: utf-8 -*-
 #
 # python implementation of "boneload"
diff --git a/models/view_cylinder_T.py b/models/view_cylinder_T.py
index 6b73ecb334e904122ad8b870f480573966f52653..3345aa1982d1c2d2005819fcbd5a889e89eb1b7c 100644
--- a/models/view_cylinder_T.py
+++ b/models/view_cylinder_T.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
 # -*- coding: utf-8 -*-
 #
 # Test of the "boneload.create_loads" subroutine
diff --git a/models/view_cylinder_TN.py b/models/view_cylinder_TN.py
index 15a8d7ab534c1a3a0969e32be9aa764c1c5365bc..f4159b383ab91aad30b2c46f5003ff90b263979a 100644
--- a/models/view_cylinder_TN.py
+++ b/models/view_cylinder_TN.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
 # -*- coding: utf-8 -*-
 # 
 # display the details of the calculation of the length and the local
diff --git a/models/view_model.py b/models/view_model.py
index ffeb8a0a5849e512c78da399bb24ef54db22f111..e36c8f767b93135bec6961de8ff085c4ae22e65f 100644
--- a/models/view_model.py
+++ b/models/view_model.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
 # -*- coding: utf-8 -*-
 #
 # display a model in 3D