added support for the program to continue off where it left off