Worth a separate thread I think.