Complete refactor with lots of help from @kernelsmith and @OJ.  Thank you guys so much.