Trying to work out the best way to process files... it's not done yet, but it's in a stable state so i'm committing it
Another checkpoint - not working yet, but making progress, maybe :)