can you give me some tips on how to do this? When I change the `dot`s to use theano.dot instead of numpy.dot but keep the logic inside the `perform` method, things don't seem to work. Instead, should the logic be moved into the `make_node` method?