DB function changed to handle period > life, and now iterative.