Threads merged for easier viewing.