variable expansion: first draft