diff --git a/src/interface_implementations/ballandbeam.jl b/src/interface_implementations/ballandbeam.jl
index 77dbe7f7cd7ab2962360e5d63e810699bf9696d8..6b1a5c857d72b8bd6c0cc858756b5ba03987b57e 100644
--- a/src/interface_implementations/ballandbeam.jl
+++ b/src/interface_implementations/ballandbeam.jl
@@ -37,7 +37,7 @@ function Beam(;
     stream::LabStream        = ComediStream(),
     measure::AnalogInput10V  = AnalogInput10V(0),
     control::AnalogOutput10V = AnalogOutput10V(1))
-    p = new(Float64(h),Float64(bias),stream,measure,control)
+    p = Beam(Float64(h),Float64(bias),stream,measure,control)
     init_devices!(p.stream, p.measure, p.control)
     p
 end
@@ -66,7 +66,7 @@ function BallAndBeam(;
     measure1::AnalogInput10V = AnalogInput10V(0),
     measure2::AnalogInput10V = AnalogInput10V(1),
     control::AnalogOutput10V = AnalogOutput10V(1))
-    p = new(h,bias,stream,measure1,measure2,control)
+    p = BallAndBeam(h,bias,stream,measure1,measure2,control)
     init_devices!(p.stream, p.measure1, p.measure2, p.control)
     p
 end
diff --git a/src/interface_implementations/eth_helicopter.jl b/src/interface_implementations/eth_helicopter.jl
index 9606f23328bbf939a5556c33e7d4781773c5fb90..b147081e7d8c3d2c99a80fb54d0979d672d51ad4 100644
--- a/src/interface_implementations/eth_helicopter.jl
+++ b/src/interface_implementations/eth_helicopter.jl
@@ -38,7 +38,7 @@ function ETHHelicopter(;
     measure2::AnalogInput10V  = AnalogInput10V(1),
     control1::AnalogOutput10V = AnalogOutput10V(0),
     control2::AnalogOutput10V = AnalogOutput10V(1))
-    p = new(h,bias,stream,measure1,measure2,control1,control2)
+    p = ETHHelicopter(h,bias,stream,measure1,measure2,control1,control2)
     init_devices!(p.stream, p.measure1, p.measure2, p.control1, p.control2)
     p
 end