added perceptron