this thread, in summary: