added neural network and training