This took longer than I like to admit, but I had fun either way