added initialize functionality for protocol
added initialize functionality for protocol