fixing bilinear learning code