Special thanks to @ppbrown. I still need to find time to add the enhancements and corrections from @ppbrown. https://github.com/4-S/4S/issues/2