support for arbitrary numbers of perceptrons added