Added multiple length primitives, variables, and an interactive mode