backprop works. hoooray