Improved program.