Functions Wacky

This commit is badly spaced from the last one and has the program
finished and tested and waiting for comments to finalize it.