generated at
terminating condition