added choochoo subsystem and outlined functions