Systems that support "ex nihilo" object creation allow new objects to be created from scratch without cloning from an existing prototype. Such systems provide a special syntax for specifying the properties and behaviors of new objects without referencing existing objects. In many prototype languages there exists a root object, often called "Object", which is set as the default prototype for all other objects created in run-time and which carries commonly needed methods such as a toString() function to return a description of the object as a string. One useful aspect of "ex nihilo" object creation is to ensure that a new object's slot (properties and methods) names do not have namespace conflicts with the top-level "Object" object. (In the JavaScript language, one can do this by using a null prototype, i.e. Object.create(null).)