Brought to you by Ryan Jauregui

Thank you to Alan and Antonin for insight and fixes to the code.