Did some optimisations; program is now runs in 1/3 the time. Added multithreaded parsing for testing