Please note that I am still working on this I appreciate any suggestions on how to make this better.
Thanks to AHZ415 for the idea