Finishing off the comments at the top outlining my approach to the problem and start looking into solutions.