parsing now runs in separate thread, so GUI won't freeze