Branch for josephs comments

Functions should perform their function and then return.  They shouldn't be printing stuff to the screen if it's not part of their job description.

If you want to put a blow-by-blow on the screen (not a bad idea!) it should really be the job of the calling code.