added NeuralNetwork class