making better perceptron