diff --git a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3RegularTriangulationTraits_3.h b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3RegularTriangulationTraits_3.h
new file mode 100644
index 00000000000..3e497139a26
--- /dev/null
+++ b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3RegularTriangulationTraits_3.h
@@ -0,0 +1,201 @@
+
+/*!
+\ingroup PkgPeriodic3Triangulation3Concepts
+\cgalConcept
+
+\cgalModifBegin
+This is a new concept
+\cgalModifEnd
+
+The concept `Periodic_3RegularTriangulationTraits_3` is the first template parameter of the classes
+`Periodic_3_regular_triangulation_3`.
+It refines the concept
+`RegularTriangulationTraits_3` from the \cgal 3D Triangulations.
+It redefines the geometric objects, predicates and constructions to
+work with point-offset pairs. In most cases the offsets will be
+(0,0,0) and the predicates from `RegularTriangulationTraits_3`
+can be used directly. For efficiency reasons we maintain for each
+functor the version without offsets.
+
+\cgalRefines Periodic_3TriangulationTraits_3
+\cgalRefines RegularTriangulationTraits_3
+
+\cgalHasModel CGAL::Periodic_3_regular_triangulation_traits_3
+
+In addition to the requirements described for the traits class
+RegularTriangulationTraits_3, the geometric traits class of a
+periodic regular triangulation must fulfill the following
+requirements.
+
+\note The optional types must be provided in any case, however they
+can be replaced by dummy types if the respective functions are not
+used.
+*/
+class Periodic_3RegularTriangulationTraits_3 {
+public:
+
+/// \name
+/// @{
+
+/*!
+A predicate object that must provide the function operators:
+
+`Oriented_side operator()(Weighted_point_3 p, Weighted_point_3 q, Weighted_point_3 r, Weighted_point_3 s, Weighted_point_3 t)`,
+
+which determines the position of `t` with respect to the power sphere of `p, q, r, s`.
+
+`Oriented_side operator()(Weighted_point_3 p, Weighted_point_3 q, Weighted_point_3 r, Weighted_point_3 s, Weighted_point_3 t,
+Periodic_3_offset_3 o_p, Periodic_3_offset_3 o_q, Periodic_3_offset_3 o_r, Periodic_3_offset_3 o_s, Periodic_3_offset_3 o_t)`,
+
+which is the same for the point-offset pair `(t,o_t)` with respect to the power sphere of the point=offset pais
+`(p,o_p), (q,o_q), (r,o_r), (s,o_s)`.
+\pre `p`, `q`, `r`, `s`, `t` lie inside the domain and `p, q, r, s` are not coplanar.
+
+
+
+In addition, only when vertex removal is used, the predicate must provide the following function operators:
+
+`Oriented_side operator()( Weighted_point_3 p, Weighted_point_3 q, Weighted_point_3 r, Weighted_point_3 t)`,
+
+which has a definition similar to the previous method, for coplanar points,
+with the power circle of `p,q,r`.
+
+`Oriented_side operator()( Weighted_point_3 p, Weighted_point_3 q, Weighted_point_3 r, Weighted_point_3 t,
+Periodic_3_offset_3 o_p, Periodic_3_offset_3 o_q, Periodic_3_offset_3 o_r, Periodic_3_offset_3 o_t)`,
+
+which is the same for point-offset pairs.
+
+\pre `p`, `q`, `r`, `t` lie inside the domain, `p, q, r` are not collinear, and `p, q, r, t` are coplanar.
+
+
+`Oriented_side operator()( Weighted_point_3 p, Weighted_point_3 q, Weighted_point_3 t)`,
+
+which is the same for collinear points, and the power segment of `p` and `q`,
+
+`Oriented_side operator()( Weighted_point_3 p, Weighted_point_3 q, Weighted_point_3 t,
+Periodic_3_offset_3 o_p, Periodic_3_offset_3 o_q, Periodic_3_offset_3 o_t)`,
+
+which is the same for point-offset pairs.
+
+\pre `p`, `q`, `t` lie inside the domain, `p` and `q` have different Bare_points, and `p, q, t` are collinear.
+
+
+`Oriented_side operator()( Weighted_point_3 p, Weighted_point_3 q)`,
+
+which is the same for equal points, that is when `p` and `q`
+have equal coordinates, then it returns the comparison of the weights.
+
+`Oriented_side operator()( Weighted_point_3 p, Weighted_point_3 q,
+Periodic_3_offset_3 o_p, Periodic_3_offset_3 o_q)`,
+
+which is the same for point-offset pairs.
+
+\pre `p` and `q` lie inside the domain and have equal Bare_points.
+
+*/
+typedef unspecified_type Power_test_3;
+
+/// @}
+
+/// \name
+/// In addition, only when vertex removal is used, the traits class must provide the following predicate object
+/// @{
+
+/*!
+A predicate object that must provide the function operators
+\cgalModifBegin
+remark: duplication with Delaunay traits
+\cgalModifEnd
+
+`Orientation operator()(Weighted_point_3 p, Weighted_point_3 q, Weighted_point_3 r)`,
+
+which returns `COLLINEAR`, if the points are collinear; otherwise
+it must return a consistent orientation for any three points chosen in
+a same plane and
+
+`Orientation operator()(Weighted_point_3 p, Weighted_point_3 q, Weighted_point_3 r,
+Periodic_3_offset_3 o_p, Periodic_3_offset_3 o_q, Periodic_3_offset_3 o_r)`,
+
+which is the same for point-offset pairs.
+\pre `p`, `q`, `r` lie inside the domain.
+*/
+typedef unspecified_type Coplanar_orientation_3;
+
+/// @}
+
+/// \name
+/// In addition, only when the dual operations are used, the traits
+/// class must provide the following constructor object:
+/// @{
+
+/*!
+A constructor object that must provide the function operators
+
+`Weighted_point_3 operator()(Weighted_point_3 p, Weighted_point_3 q, Weighted_point_3 r, Weighted_point_3 s)`,
+
+which constructs the weighted circumcenter of four points and
+
+`Weighted_point_3 operator()(Weighted_point_3 p, Weighted_point_3 q, Weighted_point_3 r, Weighted_point_3 s,
+Periodic_3_offset_3 o_p, Periodic_3_offset_3 o_q, Periodic_3_offset_3 o_r, Periodic_3_offset_3 o_s)`,
+
+which constructs the circumcenter of four point-offset pairs.
+\pre `p`, `q`, `r` and `s` as well as `(p,o_p)`, `(q,o_q)`, `(r,o_r)` and `(s,o_s)` must be non coplanar. `p`, `q`, `r`, `s` lie inside the domain.
+*/
+typedef unspecified_type Construct_weighted_circumcenter_3;
+
+/// @}
+
+/// \name Creation
+/// @{
+
+/*!
+Default constructor.
+*/
+Periodic_3_regular_triangulation_traits_3();
+
+/*!
+Copy constructor.
+*/
+Periodic_3_regular_triangulation_traits_3(const Periodic_triangulation_traits_3 & tr);
+
+/// @}
+
+/// \name Operations
+/// The following functions give access to the predicate and construction objects:
+/// @{
+
+/*!
+
+*/
+Power_test_3 power_test_3_object();
+
+/// @}
+
+/// \name
+/// The following functions must be provided if vertex removal is
+/// used; otherwise dummy functions can be provided.
+/// @{
+
+/*!
+
+*/
+Coplanar_orientation_3 coplanar_3_orientation_3_object();
+
+/// @}
+
+/// \name
+/// The following function must be provided only if the methods of
+/// `Periodic_3_regular_triangulation_3` returning elements of the
+/// Voronoi diagram are used; otherwise a dummy function can be
+/// provided:
+/// @{
+
+/*!
+
+*/
+Construct_circumcenter_3 construct_weighted_circumcenter_3_object();
+
+/// @}
+
+}; /* end Periodic_3RegularTriangulationTraits_3 */
+