# Managing Your Program

Working within a Visual Programming process can be a powerful creative activity, but very quickly the Program Flow and key user inputs can be obscured by complexity and/or layout of the Workspace. Let's review some best practices for managing your program.

### Alignment

Once we have added more than a few Nodes to the Workspace, we may want to re-organize the layout of the Nodes for clarity's sake. By selecting more than one Node and right-clicking on the Workspace, the pop up window includes an **Align Selection** menu with justification and distribution options in X and Y.

![](/files/1aVzNhVQbRQS3mMi141k)

> 1. Select more than one Node
> 2. Right-click on the Workspace
> 3. Use the **Align Selection** options

### Notes

With some experience, we may be able to "read" the Visual Program by reviewing the Node Names and following the Program Flow. For users of all experience levels, it is also good practice to include plain language labels and descriptions. Dynamo has a **Notes** Node with an editable text field to do so. We can add Notes to the Workspace in two ways:

![](/files/6oz2YjGmYs7u6jkK07Yz)

> 1. Browse to the menu Edit > Create Note
> 2. Use the keyboard shortcut Ctrl+W

Once the Note is added to the Workspace a text field will pop up allowing us to edit the text in the Note. After they are created, we can edit the Note by double-clicking or right-clicking the Note Node.

![](/files/RPI28c5sLxS8KF4JF9i8)

### Grouping

When our Visual Program gets big, it is helpful to identify the larger steps that will be executed. We can highlight larger collections of Nodes with a **Group** to label them with a colored rectangle in the background and a title. There are three ways to make a Group with more than one Node selected:

![](/files/J1oKH7R6wioDseiXcFKq)

> 1. Browse to the menu Edit > Create Group
> 2. Use the keyboard shortcut Ctrl+G
> 3. Right-click on the Workspace and select "Create Group"

Once a Group is created we can edit its settings, such as the title and color.

![](/files/saJ26NwyAwuD4uqOvC4c)

{% hint style="info" %}
Tip: Using both Notes and Groups is an effective way to annotate your file and increase readability.
{% endhint %}

Here's an example of program from with Notes and Groups added:

![](/files/uQaYS8GV4dmW1vA3yjEO)

> 1. Note: "Grid Parameters"
> 2. Note: "Grid Points"
> 3. Group: "Create a Grid of Points"
> 4. Group: "Create an Attractor Point"
> 5. Note: "Calibrate Distance Values"
> 6. Note: "Variable Grid of Circles"


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://primer2.dynamobim.org/9_best_practices/4-managing-your-program.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
