better train generation