command line input. caching in its own class. only train transport methods.