Final submission for the day, still 2.5x slower than I need to be.