Kyle contribs

Recreated PR due to a naming conflict.

FULL DISCLOSURE:  I did not test anything, as I don't have a test VM.  You might want to merge each commit to help reduce/track down any issues I introduced by accident (if any).