Fully functional program

No known errors.