mv the class decoder inside the class perceptron