binding functions to protocol