Commit Briefs
use move from File::Copy instead of rename
i was reminded that rename doesn't work across filesystems. `move' from File::Copy attempts to use rename and falls back to a copy+unlink, which is the thing we need.
use nested list for the threading
more idiomatic and works better on text browsers too!