how a neural network works