Small progress. I need to speed this up or I'll never finish. :/