put bilinear functions to backend