From the OpenTrain project.