renamed perceptron implementation