multi-line, multi-train, better OO design."