diff --git a/documentation/current/method/void-safe-programming-eiffel/creating-new-void-safe-project.wiki b/documentation/current/method/void-safe-programming-eiffel/creating-new-void-safe-project.wiki
index e6e6b3c9..b73b5f7b 100644
--- a/documentation/current/method/void-safe-programming-eiffel/creating-new-void-safe-project.wiki
+++ b/documentation/current/method/void-safe-programming-eiffel/creating-new-void-safe-project.wiki
@@ -1,6 +1,9 @@
[[Property:title|Creating a new void-safe project]]
[[Property:weight|2]]
[[Property:uuid|92cea2e9-b094-6380-2c5d-1cd1eb3038b4]]
+{{underconstruction}}
+
+
=Creating a new void-safe project=
Now that we've been introduced to the Eiffel void-safe facilities, let's look at what it takes to set up a new void-safe software project. Here we'll look at the void-safety related project settings and how the can be used. Then we'll look deeper into the use of some of the void-safe tools.
@@ -68,9 +71,26 @@ This change works for all the generic classes in EiffelBase ... except for one:
...
create my_array.make (1, 100)
-we create my_array with one hundred INTEGER elements. Each element is initialized by applying the default initialization rule for INTEGER.
+we create my_array with one hundred INTEGER elements. INTEGER is an expanded type, and each element is initialized by applying the default initialization rule for INTEGER, i.e, the integer representation of zero.
-However, if my_array had been declared of a type with reference semantics, say STRING, the default rule would not work well, because the default initialization for references types is Void.
+However, if my_array had been declared of a type with reference semantics, say STRING (meaning, or course, attached STRING, the default rule would not work well, because the default initialization for references types is Void.
+
+The solution to this challenge is fairly simple. For arrays of elements of detachable or expanded types, there is no different behavior. For arrays of elements of attached types, then we must be careful.
+
+Creating an array using ARRAY's creation procedure make may still be safe in some cases. Specifically, make can be used with arrays of elements of attached types if the arguments have values such that an empty array will be created, that is, when
+
+ min_index = max_index + 1
+
+
+In all other situations involving arrays of elements of attached types, it is not safe to use make to do the creation. Rather, you should use the creation procedure make_filled which takes three arguments. The first is an object of the type of the array, and the second and third are the minimum and maximum indexes, respectively. When the array is created, each of the elements will be initialized with a reference to the object of the first argument.
+
+So, a call using make_filled would look like this:
+
+ my_array: ARRAY [STRING]
+ ...
+ create my_array.make_filled (" ", 1, 100)
+
+Upon creation, each element of the array will reference the same object; an object of type STRING composed of one space character.
==Using the ''attribute'' keyword carefully==