also what's in perceptron was copy pasted from the internet and that's totally not okay