Implemented features outlined in Issues #1, #2 amd #3.  This commit closes #1, closes #2 and closes #3.