Finished program for fun.