train ---------------------------------------------------------------------------------------------------