James C - generator refactor
James C - started item-threading
James C - continued item-threading