added perceptron data type with input and update functions