enforce exactly 3 arguments in the vector constructor
the layout algorithm now dynamically increases/decreases the timestep