A method improving or restoring neural function in a mammalian subject in need thereof, the method including: using an input receiver to record an input signal generated by a first set of nerve cells; using an encoder unit including a set of encoders to generate a set of coded outputs in response to the input signal; using the encoded outputs to drive an output generator; and using an output generator to activate a second set of nerve cells wherein the second set of nerve cells is separated from the first set of nerve cells by impaired set of signaling cells. In some embodiments, the second set of nerve cells produces a response that is substantially the same as the response in an unimpaired subject.