add NeuralTrainer class