Initial train (actually, ship) implementation
Some fixes and renames