bi-functions